使用Selenium测试Javascript
我正在尝试测试一个网站。除了菜单项,我可以访问大多数web元素 基本上有一个下拉菜单,我使用Selenium点击菜单,从而打开下拉菜单。现在我需要单击菜单中的一个元素,但是菜单似乎是用Javascript编写的,而不是web元素,因此我找不到访问菜单项的方法 有什么想法吗?我特别需要在Selenium中这样做 更新:--------------------------------------------------------------------------------------使用Selenium测试Javascript,java,testing,selenium,web,web-testing,Java,Testing,Selenium,Web,Web Testing,我正在尝试测试一个网站。除了菜单项,我可以访问大多数web元素 基本上有一个下拉菜单,我使用Selenium点击菜单,从而打开下拉菜单。现在我需要单击菜单中的一个元素,但是菜单似乎是用Javascript编写的,而不是web元素,因此我找不到访问菜单项的方法 有什么想法吗?我特别需要在Selenium中这样做 更新:-------------------------------------------------------------------------------------- 网站上的
网站上的菜单可能是上下文菜单。使用鼠标左键单击打开。你知道如何访问它的选项吗?菜单可以用页面的javascript构建和操作,但它将以html的形式存在。您可以使用Selenium与此html交互。打开上下文菜单并不是那么容易。
WebElement dropDownListBox = driver.findElement(By.id("Menu_id"));
Select clickThis = new Select(dropDownListBox);
clickThis.selectByVisibleText(activity); //If you know visible text
//clickThis.getFirstSelectedOption(); // This will auto select first option in the drop down
// clickThis.selectByValue(1); //if you the value of drop down list items
到目前为止,我正在通过执行javascript触发鼠标事件(没有找到其他解决方案)。
这与那次讨论类似:
或
如果您只是触发底层js函数,那么它有时很有用。
大多数情况下,开发人员可以给您一个入口点来调用。
这将使您能够继续构建测试,并在一段时间后实现javascript函数,该函数通过触发事件打开contextmenu。除了单击菜单,我还没有使用Selenium访问菜单项,并通过selenium使用上下箭头滚动项目
我使用OpenScript来记录/回放测试,它已经成功了。在我的特殊情况下,我使用的网站需要设置一个标志以使其可测试。如果您在测试网站时遇到问题,您可能需要联系开发人员,询问是否设置了“自动化”标志。Selenium RC使用javascript与浏览器交互,因此您也应该能够与这些元素交互。显示一些HTML将很有帮助。还有,到目前为止你试过什么?我试过各种选择,但在这个问题上没有任何进展。我所能做的就是通过使用selenium.sendkey()方法的向下和向上箭头向下滚动菜单元素来访问菜单元素。您使用哪种浏览器?我们曾经在IE和Chrome上遇到过类似的问题。我在使用IE,因为我正在测试的网站只在IE上工作,我没有其他选择,因为我不是它的开发者,我只是在测试它。菜单没有显示HTML,当使用开发者工具选择菜单按钮时,它只显示以下内容:作为一个孩子,它只是显示:Text-file谢谢,但是这个标签不是select标签而是td标签,所以我得到了一个例外。在“File”td下,据我所知只有一个javascript文件:''下面是:'Text-File'