问题标签 [webdriver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Capybara 和 Javascript onbefoureunload
我有一个带有 onbeforeunload 功能的“ask_a_question”页面,可以在未保存某些内容之前提醒用户(嘿!像 SO :P)。我正在使用带有 capybara 和 webdriver 的 cucumber 对其进行测试,添加 @javascript 标签,因为它使用了大量的 javascript。黄瓜功能可能如下所示:
但是一旦测试通过,Capybara(或 WebDriver,我不知道)会尝试为其他测试重用相同的浏览器窗口,然后会显示 onbeforeunload 警报,使以下测试出错。
因为我的功能本身并没有关闭或退出页面。我认为添加一些内容来接受警报可能不是一个好主意。但老实说,我很迷茫。
如何告诉 capybara 为每个 @javascript 测试使用新的浏览器窗口或自动关闭 onbeforeunload 警报?
谢谢
.net - Selenium 2 + WebDriver + .NET:如果选择是“显示:无”,则无法检索选择选项的文本;
我在页面上有这个选择:
我正在运行这个测试:
第二个断言失败,因为options
集合中的所有元素都将空字符串作为其 Text 对象。如果我删除添加display:none;
样式的页面上的 JavaScript,它会起作用。这不是一个永久的解决方案,因为这个选择需要被隐藏,因为它是由FCBKcomplete扩展的。
如何在 .NET 中使用 Selenium 2/WebDriver 获取隐藏选择选项的文本?
selenium - 当目标位于 IFrame 中时,如何从 ChromeWebDriver 和 InternetExplorerWebDriver 调用 JavaScript
我正在使用 Selenium 2b1 并在驱动 Firefox(MacOS 和 Windows)时取得了良好的效果。我们想对 IE 和 Chrome 运行相同的测试。在为 ChromeDriver 添加了几个解决方法后,我发现 ChromeDriver 和 InternetExplorerDriver 在 executeScript() 中都失败了,即使在 driver.switchTo().frame(canvasName) 之后脚本是“返回“Hello!””。ChromeDriver 报告“不在页面上,因此无法执行 javascript”,而 InternetExplorerDriver 报告“JavaScript 错误”。
这是 Groovy 代码:
变量 selenium 在 RemoteWebDriver 的实例中。waitFor 方法创建一个 WebDriverWait 的实例,并传递一个引用闭包参数的包装器实例作为 until 参数。请注意,具有 id 'Game' 的元素仅存在于已由上述代码中的第一条语句选择的 IFrame 中。
希望有人有这方面的经验!
watir - 使用带有远程 HTMLUnit 的 Webdriver 进行测试,无法登录到 gmail
出于某种原因,在登录 gmail 之类的网站后,htmlunit 无法正常工作。它无法找到 html 元素。
下面是一个显示问题的非常简单的 ruby 脚本,注意它假定 webdriver 服务器运行在运行它的同一台机器上:
请注意,如果我使用 firefox 或 IE 创建浏览器对象,这个简单的测试就可以工作。
它似乎挂断了登录过程中发生的重定向。我真正尝试测试的站点遵循非常相似的模式,因此我使用 gmail 设置了这个简化示例,它似乎显示了同样的问题。
任何人都可以帮助将其变成通过测试吗?请注意,我可以使用同样基于 HTMLUnit 的 Celerity 进行类似的测试,所以我相信应该有一些方法可以使这项工作?
这是 webdriver 服务器中显示的错误,清楚地表明它找不到属性:
selenium - Webdriver / Selenium 如何与您的本地 Web 浏览器“对话”?
例如使用 FirefoxDriver,它如何向 Firefox 实例发送点击和命令?
.net - .NET 是否有 HtmlUnitDriver?
我正在使用Selenium 的 WebDriver为我正在为自学而开发的 ASP.NET MVC 应用程序运行一些SpecFlow测试。
使用FirefoxDriver
,ChromeDriver
等都需要很长时间才能运行,使用它们实际上非常令人沮丧(在我看来)。
我读过一个HtmlUnitDriver
据说比基于浏览器的驱动程序快得多的信息;但我似乎无法在 .NET 客户端库(仅限 Java)中找到版本。那里有 .NET 版本吗?
ruby - 使用 Watir-WebDriver 时查找链接的兄弟
我正在使用 watir-WebDriver 来自动化网站测试自动化。我必须访问 Sibling 链接。
看起来像这样
东西 > 东西 2 > 当前页面标题 (link1) (link2) (text1)
我有 text1 的类 id,我必须通过单击链接 2 返回到 Something 2。
我怎么得到这个。
ruby - Selenium Webdriver - 单击后如何跳过等待页面加载并继续
我使用单击按钮的 webdriver 进行了 rspec 测试...单击按钮后,页面永远不会完全加载(这是预期的正确行为)。单击按钮后,我想等待 2 秒钟,然后导航到不同的 URL……尽管页面尚未加载。我不想因为页面尚未加载而引发错误,我只想忽略它,并继续前进,就好像一切都很好。页面永远不应该加载,这是预期的正确行为。
我怎样才能避免等到超时,其次,我怎样才能不引发导致测试失败的错误。
谢谢!
webdriver - WebDriver HtmlUnitDriver NoSuchElementException
我正在使用 Webdriver 来测试我的 Web 应用程序。当我使用 FireFoxDriver 或 ChromeDriver 时,一切似乎都很好。当我使用 HtmlUnitDriver 时,尽管事情开始出错。
这是一个示例代码:
我查看了 driver.getPageSource 结果,那里提供的源代码非常不完整。
它没有向我展示所有元素。它与页面上的单击视图源相同。我从驱动程序需要的是整个源,比如萤火虫或铬检查器给我。
关于如何检索它的任何想法?
我的应用程序是用 GWT 编写的。
太感谢了
ruby-on-rails - Webdriver 延迟问题
是否还有其他人在使用 Webdriver 时遇到延迟问题?我让它和 Capybara 在 Cucumber 上运行。而且填写一张表格需要30多秒甚至几分钟的时间。由于某种原因,当两个字段都被 id 引用时,它将填写一个字段,然后在填写另一个字段之前暂停。
此外,由于这种延迟,我遇到了超时错误。(但他们是不稳定的......)
字段没有什么特别之处。它们出现在页面加载时,并且此页面上没有 Ajax。
有人有想法么?
这是错误:
编辑:这可能与我在运行 Cucumber 测试时已经打开了一个 Firefox 实例有关。尽管超时的频率降低了,但我仍然经常遇到它们,我认为这仍然是一个问题。
Edit2:功能文件将指定一个步骤:
And I complete personal info
该步骤将进一步定义为其他步骤:
Capybarafirst_id
有时会发现,我的场景的其余部分执行得很好。其他时候,它会超时。在我看来,这是非常不可预测的。还有一些时候,它会找到first_id
但找不到second_id
。顺便说一句,这些id
s 确实存在于页面上。
我应该包含有关该错误的更多信息。它通常看起来像这样:
Then we verify stuff we just filled out
用这些额外的步骤定义:
我希望这些额外的信息有所帮助!如果您还需要什么,请在评论中告诉我。