selenium 如何减缓执行速度?

sxpgvts3  于 2023-03-08  发布在  其他
关注(0)|答案(4)|浏览(346)

我正在使用 selenium 网络驱动程序与测试。我想放慢速度的执行。
下面是示例代码:

@Parameters({ "provider_name", "branch", "address", "clientId", "website", "UserName", "Password", "Dpid" })
public void addDematAccount(String provider_name, String branch, String address, String clientId, String website,
        String UserName, String Password, String Dpid) {
    driver.findElement(By.xpath("//a[contains(@href, '#/app/DematAccount/Add')]")).click();

    setParameter(provider_name, branch, address, clientId, website, UserName, Password, Dpid);

    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

我用过driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);Thread.sleep(2000);,但没有帮助

xesrikrc

xesrikrc1#

Selenium WebDriver中不再有任何方法来控制每一“步”的速度,曾经有一段时间,Options接口上有一个setSpeed()方法(在Java绑定中;其他绑定在其适当命名的对象上有类似的构造),但它很久很久以前就被弃用了。其背后的理论是,您不需要先验地减慢WebDriver代码的每一步。如果您需要等待正在自动化的应用程序中发生某些事情,您应该使用隐式或显式等待例程。

ltskdhd1

ltskdhd12#

如果您想查看它,而它太快了,我想您可以记录正在执行的测试,然后查看它?
参见此处:http://www.seleniummonster.com/boost-up-your-selenium-tests-with-video-recording-capability/
在这里:http://unmesh.me/2012/01/13/recording-screencast-of-selenium-tests-in-java/
下面是上面链接中的一些示例

public void startRecording() throws Exception
{
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
this.screenRecorder = new ScreenRecorder(gc,
new Format(MediaTypeKey, MediaType.FILE, MimeTypeKey, MIME_AVI),
new Format(MediaTypeKey, MediaType.VIDEO, EncodingKey,      ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE,
CompressorNameKey, ENCODING_AVI_TECHSMITH_SCREEN_CAPTURE,DepthKey, 24,       FrameRateKey, Rational.valueOf(15),QualityKey, 1.0f,KeyFrameIntervalKey, 15 *   60),new Format(MediaTypeKey,MediaType.VIDEO, EncodingKey, "black",FrameRateKey,       Rational.valueOf(30)),null);
this.screenRecorder.start();
}
 public void stopRecording() throws Exception
{
this.screenRecorder.stop();
}

自动化测试的全部目的(在我看来)是这样它们就可以在后台运行,而不需要用户交互/不需要被查看。还有,如果你想在一定的时间内做尽可能多的测试,速度和并行测试是必不可少的。如果你想查看正在执行的测试,我认为上述方法会很好,以确保你不不要破坏Selenium的性能,并在完成后查看执行情况,您将完全控制视频回放等。

doinxwow

doinxwow3#

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

serv_obj=Service("C:\Browserdrivers\chromedriver_win32\chromedriver.exe")
driver=webdriver.Chrome(service=serv_obj)

driver.get("https://www.nopcommerce.com/en")
driver.maximize_window()
eyh26e7m

eyh26e7m4#

如果您确实希望缓慢地甚至逐步地执行程序,可以尝试以下方法:

  • 在调试模式下一步一步地执行程序;
  • 把你的代码重构成函数块,一次只执行一个代码块,你不会看到你的代码执行得很慢,但是你会更容易把你的代码和结果联系起来。

相关问题