Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
Javascript破坏了Selenium测试_Java_Javascript_Selenium - Fatal编程技术网

Javascript破坏了Selenium测试

Javascript破坏了Selenium测试,java,javascript,selenium,Java,Javascript,Selenium,我目前正在为一家实习公司编写基本的硒测试,这个错误困扰了我一段时间。如果我在测试中关闭Javascript,它会顺利通过,但一旦我为测试打开Javascript,它就永远不会完成 测试如下所示: public void Login() { driver.setJavascriptEnabled(true); driver.get("https://127.0.0.1:4433"); WebElement usernamefield = driver.findElemen

我目前正在为一家实习公司编写基本的硒测试,这个错误困扰了我一段时间。如果我在测试中关闭Javascript,它会顺利通过,但一旦我为测试打开Javascript,它就永远不会完成

测试如下所示:

public void Login()
{
    driver.setJavascriptEnabled(true);
    driver.get("https://127.0.0.1:4433");

    WebElement usernamefield = driver.findElement(By.id("username"));
    WebElement passwordfield = driver.findElement(By.id("password"));
    usernamefield.sendKeys(email);
    passwordfield.sendKeys(password);
    WebElement loginButton = driver.findElement(By.className("jsLoginSubmit"));
    loginButton.click();
    driver.navigate().to("https://127.0.0.1:4433/?op=caselist");
    assertTrue(driver.getTitle().contains("Overblik")
            && driver.getTitle().contains(userid.toString()));
    System.out.println(email);
    driver.close();
}
如果禁用Javascript,此测试工作正常。我用它来实例化我的
setUp()
方法中的驱动程序:

driver = new HtmlUnitDriver();
但以下是在启用Javascript的情况下运行测试的输出:

09:40:35,162 ERROR StrictErrorReporter:79 - runtimeError: message=[The data necessary to complete this operation is not yet available.] sourceName=[https://127.0.0.1:4433/static/lib/jquery/jquery-1.11.1.min.js] line=[2] lineSource=[null] lineOffset=[0]
09:40:35,470  WARN DefaultCssErrorHandler:39 - CSS error: [21:23] Error in style rule. Invalid token ":". Was expecting one of: <S>, "}", <COMMA>, ";", "/", <PLUS>, "-", <HASH>, <STRING>, <URI>, "!", "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
09:40:35,471  WARN DefaultCssErrorHandler:53 - CSS warning: [21:23] Ignoring the following declarations in this rule.
09:40:35,502  WARN DefaultCssErrorHandler:39 - CSS error: [148:23] Error in style rule. Invalid token ":". Was expecting one of: <S>, "}", <COMMA>, ";", "/", <PLUS>, "-", <HASH>, <STRING>, <URI>, "!", "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
09:40:35,503  WARN DefaultCssErrorHandler:53 - CSS warning: [148:23] Ignoring the following declarations in this rule.
09:40:35,509  WARN DefaultCssErrorHandler:39 - CSS error: [163:23] Error in style rule. Invalid token ":". Was expecting one of: <S>, "}", <COMMA>, ";", "/", <PLUS>, "-", <HASH>, <STRING>, <URI>, "!", "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
09:40:35,510  WARN DefaultCssErrorHandler:53 - CSS warning: [163:23] Ignoring the following declarations in this rule.
09:40:35,512  WARN DefaultCssErrorHandler:39 - CSS error: [182:23] Error in style rule. Invalid token ":". Was expecting one of: <S>, "}", <COMMA>, ";", "/", <PLUS>, "-", <HASH>, <STRING>, <URI>, "!", "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
09:40:35,513  WARN DefaultCssErrorHandler:53 - CSS warning: [182:23] Ignoring the following declarations in this rule.
09:40:35,516  WARN DefaultCssErrorHandler:39 - CSS error: [201:23] Error in style rule. Invalid token ":". Was expecting one of: <S>, "}", <COMMA>, ";", "/", <PLUS>, "-", <HASH>, <STRING>, <URI>, "!", "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
09:40:35,516  WARN DefaultCssErrorHandler:53 - CSS warning: [201:23] Ignoring the following declarations in this rule.
09:40:35162错误报告:79-runtimeError:message=[完成此操作所需的数据尚不可用。]sourceName=[https://127.0.0.1:4433/static/lib/jquery/jquery-1.11.1.min.js]line=[2]lineSource=[null]lineOffset=[0]
09:40:35470警告DefaultCssErrorHandler:39-样式规则中的CSS错误:[21:23]错误。无效令牌“:”。应为下列之一:,“}”,“;”,“/”,“-”,“!”,“继承”。
09:40:35471 WARN DefaultCssErrorHandler:53-CSS warning:[21:23]忽略此规则中的以下声明。
09:40:35502警告DefaultCssErrorHandler:39-样式规则中的CSS错误:[148:23]错误。无效令牌“:”。应为下列之一:,“}”,“;”,“/”,“-”,“!”,“继承”。
09:40:35503警告DefaultCssErrorHandler:53-CSS警告:[148:23]忽略此规则中的以下声明。
09:40:35509警告DefaultCssErrorHandler:39-样式规则中的CSS错误:[163:23]错误。无效令牌“:”。应为下列之一:,“}”,“;”,“/”,“-”,“!”,“继承”。
09:40:35510 WARN DefaultCssErrorHandler:53-CSS警告:[163:23]忽略此规则中的以下声明。
09:40:35512警告DefaultCssErrorHandler:39-样式规则中的CSS错误:[182:23]错误。无效令牌“:”。应为下列之一:,“}”,“;”,“/”,“-”,“!”,“继承”。
09:40:35513警告DefaultCssErrorHandler:53-CSS警告:[182:23]忽略此规则中的以下声明。
09:40:35516警告DefaultCssErrorHandler:39-样式规则中的CSS错误:[201:23]错误。无效令牌“:”。应为下列之一:,“}”,“;”,“/”,“-”,“!”,“继承”。
09:40:35516 WARN DefaultCssErrorHandler:53-CSS warning:[201:23]忽略此规则中的以下声明。
我不知道这意味着什么,我似乎也找不到一个解决方案或理由来解释为什么会发生这种情况。我打开了Javascript,但它抱怨CSS规则

有人知道怎么解决这个问题吗


我正在使用Selenium 2.21.0

它可能会抱怨动态应用样式。你有改变风格的脚本吗?还是动态加载样式表?@Michaeldibets如果可以,我会问这个问题。但它会产生什么影响呢?如果它能够正确地测试,它将超越触发它所能做的一切,然后它将测试之后会发生什么。我猜应用了一些“无效”的css,可能有IE或其他特定浏览器的使用案例。@Michaeldbbets这只是根据我的理解
new HtmlUnitDriver()
不是一个实际的浏览器驱动程序,而是某种类似的模拟器?测试需要无头。是的,但样式仍然会改变。更改的样式应该仍然有效。这就是需要测试的。基本上:如果我按下按钮A,B会改变。更改的B仍然有效吗?