问题标签 [selenium-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.
testing - Maven 项目中页面对象的保存位置
我正在使用Selenium2 的页面对象方法,并想知道在 Maven 项目结构中组织页面对象的最佳方法。
我目前有一个完全独立的 maven 项目模块用于功能测试,所以我倾向于将页面对象放在测试项目的 src/main/java 中,然后将使用页面对象的 junit 测试放在 src/test/java 中。我想另一种方法是将它全部放在 src/test/java 中。
对这两种方法的优缺点有什么想法吗?
debugging - 使用 Selenium2 和 FirefoxDriver 关闭 Liferay 弹出窗口(在新的浏览器窗口中)?
我正在尝试使用 Selenium 2 在 Liferay 门户服务器上自动化一些测试用例。许多 Liferay 操作会打开新的浏览器窗口弹出(如用户模拟)。这是一个示例链接(注意target="_blank"
):
切换到弹出窗口上下文相当简单:
但是,当我完成模拟后,我需要关闭弹出窗口。根据 WebDriver.close() 的 api,它将:
关闭当前窗口,如果它是当前打开的最后一个窗口,则退出浏览器。
如果我没看错,那么它应该只关闭弹出窗口,而不是 Firefox 实例(只要我打开另一个窗口,我会这样做,因为这只是一个弹出窗口)。但是,当我从弹出窗口的上下文中调用 close 时,它总是失败并显示:
我发现一些关于这是 FirefoxDriver 中的错误的参考。有没有人有建议或解决方法?我想我可以在整个测试用例完成之前让弹出窗口保持打开状态,但是由于在我的测试套件中导致弹出窗口的操作数量众多,这可能很快变得不可行。
- - - - - - - 编辑 - - - - - - -
一个极其简化的测试用例:
似乎表明这不是 FirefoxDriver 的真正问题。这表明只是创建一个弹出窗口,切换到它,然后关闭它,然后在主窗口中恢复工作不会导致 firefox 崩溃。这意味着原因要复杂得多,我想不出一种方法来创建一个简单的测试用例。我的真实代码基本上是一个使用 Liferay 的框架。它旨在成为我所有测试用例的基类,提供 impersonateUser(LiferayUser user) 等实用方法。我将在这里发布我的代码,但高度怀疑是否有人愿意花精力研究这个。现在我有一个解决方法,我可以关闭原始窗口,然后继续在弹出窗口中工作。如果我想出一个简化的测试用例来证明这个问题,我会再次编辑这篇文章。
------------- 编辑 2 --------------
我现在认为这与调试器有关。我正在使用 eclipse,如果我正在调试,并且正在逐步执行 close() 和 switchTo() 之间的代码,它会始终失败。您应该能够通过在我上面的简化示例测试用例中的这一行插入一个断点来重现:
当代码在该断点处停止时,您会收到错误消息……不知道该怎么做,可能会提交错误。有什么建议么?
------------- 编辑 3 --------------
出于跟踪目的,这是我在此问题上打开的错误:
testing - Selenium 2.0 / 网络驱动程序
我目前正在考虑选择用于当前 Web 项目的自动化 Web 测试框架。我很确定我将使用硒。我一直在阅读一些关于 selenium 2.0 或 webdriver 的信息。webdriver 是否有像 selenium 1.0 这样的记录器插件,或者它只是一个用于 web 测试的 API?
如果有人能指出一些使用它的好例子的方向,我将不胜感激。
谢谢
element - 是否可以与 selenium2 中的隐藏元素进行交互?
我需要在网页的隐藏输入字段中设置值,我使用的是 Selenium 2。我尝试使用 webelement.sendKeys(value),但它不起作用。
谁能告诉我该怎么做?
谢谢。
c# - 使用 Selenium 2 / Web 驱动程序和 C#
我最近一直在研究使用 Selenium 2 / webdriver 进行一些自动化的 Web 测试。API 看起来很棒。但是,是否可以通过 selenium-IDE 记录测试并为 webdriver 生成 C# 代码。我找到了一些 Java 格式化程序,但无论如何都找不到为 C# 执行此操作。
虽然 IDE 的 Export Test Case As/C# 有效,但它生成的代码是针对以前的 Selenium 1/RC 而不是新的 Selenium2/WebDriver API。
keypress - Selenium 2 和按键
我刚刚升级到 Selenium 2 并且无法在 Firefox 中模拟按键(可能是其他浏览器?)。首先,使用 IWebDrivers 的新 API 不提供按键功能。我可以使用 1.0 API (WebDriverBackedSelenium) 函数获取一个 ISelenium 实例,但是在使用它时我收到一个错误。例如
产量
System.NotSupportedException:keyDownNative
KeyDown、KeyPress 等也是如此。 Selenium v2 不支持这种情况吗?
提前致谢!
/碧玉
selenium - Selenium 可用性监控
我的公司通过云中的功能测试来监控网站和移动应用程序的性能和可用性;我们正在寻求扩展我们的技术以包括 Selenium 测试。我们使用 RoR 系统从多个位置间歇性地远程运行我们的功能测试,将数据保存在 mysql 中以用于报告/警报目的。
我们预计在我们的每台监控服务器上都包含 Selenium RC 以执行远程测试。我们可能会演变为从每个位置的多台机器上运行测试(即不同风格的操作系统,或出于可扩展性目的)。
既然我们已经有了一个控制器来管理我们在不同位置的测试运行,那么 Grid 会是矫枉过正还是必需品?
还有其他建议吗?
webdriver - webdriver没有点击按钮
我有一个场景,如果鼠标悬停在一个框上,它会显示我想要单击的按钮。html是这样的:
我正在使用此代码单击 webdriver,但没有任何成功:
我曾尝试在悬停和单击之间也放置等待,但没有用。我被困住了,所以在寻找答案。
c# - 如何使用 Selenium WebDriver C# 从下拉列表中选择一个选项?
我正在尝试为我的网络测试选择一个选项。一个例子可以在这里找到:http ://www.tizag.com/phpT/examples/formex.php
除了选择选项部分外,一切都很好。如何按值或标签选择选项?
我的代码:
java - 在 Selenium 2 中定义一个元素并且它没有被点击
我在尝试测试的页面上有以下 HTML:
我正在尝试单击每个图标以验证它会将我带到登录页面。
我已经尝试了以下代码,但它似乎只是忽略了它并且它保留在页面上。
关于为什么 click() 不点击的任何想法?