Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Selenium测试Javascript_Java_Testing_Selenium_Web_Web Testing - Fatal编程技术网

使用Selenium测试Javascript

使用Selenium测试Javascript,java,testing,selenium,web,web-testing,Java,Testing,Selenium,Web,Web Testing,我正在尝试测试一个网站。除了菜单项,我可以访问大多数web元素 基本上有一个下拉菜单,我使用Selenium点击菜单,从而打开下拉菜单。现在我需要单击菜单中的一个元素,但是菜单似乎是用Javascript编写的,而不是web元素,因此我找不到访问菜单项的方法 有什么想法吗?我特别需要在Selenium中这样做 更新:-------------------------------------------------------------------------------------- 网站上的

我正在尝试测试一个网站。除了菜单项,我可以访问大多数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'