如何使用 Webdriver IO 单击浏览器 'stop' 按钮
How to click browser 'stop' button using Webdriver IO
一些背景信息:我正在测试的程序位于登录墙后面的另一个网站内。验证密码并登录后,您可以在我需要测试的屏幕上直接输入 link,而无需单击该网站。我遇到的问题是,一旦我登录,我的自动化测试就会等到第一页加载完毕(有时长达 40 秒),然后再继续测试。我试过使用 browser.keys("Escape") 但它不起作用。
有什么方法可以使用 WebdriverIO 来模拟按下停止按钮或我可以执行的控制台命令吗?
这是我用来参考的代码片段。
// Log into website as user
browser.waitForVisible(Username, timeout)
.setValue(Username, "User")
.setValue(Password, "Password")
.click(LogInButton)
// Switch to test website
.pause(2000)
.keys('Escape')
.url(URL)
感谢您的帮助!
不,您不能按停止按钮,因为它是浏览器按钮。
WebDriver 仅支持网页元素,它不能与浏览器的控件(按钮、菜单选项等)交互。
但是您可以尝试一种解决方法 - 不要使用 WebDriver 的 click() 方法来单击登录按钮,而是将 ENTER 键发送到此按钮。
在 java 中看起来像:
findElement( loginButton ).sendKeys( Keys.ENTER );
而不是:
findElement( loginButton ).click();
这里是java这个方法的文档:
https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys-java.lang.CharSequence...-
click() 方法点击元素,然后等待页面加载,而 sendKeys( Enter ) 不等待,只发送击键并继续执行。
输入键发送到按钮只是"press"这个按钮。
这样您的测试将不会等待页面重新加载,而是会立即继续。
一些背景信息:我正在测试的程序位于登录墙后面的另一个网站内。验证密码并登录后,您可以在我需要测试的屏幕上直接输入 link,而无需单击该网站。我遇到的问题是,一旦我登录,我的自动化测试就会等到第一页加载完毕(有时长达 40 秒),然后再继续测试。我试过使用 browser.keys("Escape") 但它不起作用。
有什么方法可以使用 WebdriverIO 来模拟按下停止按钮或我可以执行的控制台命令吗?
这是我用来参考的代码片段。
// Log into website as user
browser.waitForVisible(Username, timeout)
.setValue(Username, "User")
.setValue(Password, "Password")
.click(LogInButton)
// Switch to test website
.pause(2000)
.keys('Escape')
.url(URL)
感谢您的帮助!
不,您不能按停止按钮,因为它是浏览器按钮。
WebDriver 仅支持网页元素,它不能与浏览器的控件(按钮、菜单选项等)交互。
但是您可以尝试一种解决方法 - 不要使用 WebDriver 的 click() 方法来单击登录按钮,而是将 ENTER 键发送到此按钮。
在 java 中看起来像:
findElement( loginButton ).sendKeys( Keys.ENTER );
而不是:
findElement( loginButton ).click();
这里是java这个方法的文档:
https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys-java.lang.CharSequence...-
click() 方法点击元素,然后等待页面加载,而 sendKeys( Enter ) 不等待,只发送击键并继续执行。
输入键发送到按钮只是"press"这个按钮。
这样您的测试将不会等待页面重新加载,而是会立即继续。