Java 硒阿塞特奎尔
我已经使用该框架在SeleniumWebDriver中创建了一个测试用例。我正在尝试获取text()并打印它,同时在Assert.assertEquals()中使用它 我面临的问题是,当我运行这个测试用例时,它显示错误“java.lang.AssertionError:预期为[],但找到了[Register here]”,并且在“ab”变量中没有打印任何内容 我的测试用例 还有一件事:当我将assert条件更改为Java 硒阿塞特奎尔,java,selenium,testng,assertion,Java,Selenium,Testng,Assertion,我已经使用该框架在SeleniumWebDriver中创建了一个测试用例。我正在尝试获取text()并打印它,同时在Assert.assertEquals()中使用它 我面临的问题是,当我运行这个测试用例时,它显示错误“java.lang.AssertionError:预期为[],但找到了[Register here]”,并且在“ab”变量中没有打印任何内容 我的测试用例 还有一件事:当我将assert条件更改为assert.assertEquals(ab,“Register here”),它将
assert.assertEquals(ab,“Register here”)代码>,它将打印“ab”变量
这是怎么回事?你的错误很明显。您要查找的文本是Selenium找到的Register here
问题是为什么要在assertEquals
中在此处编写Regist5434er
只需将该行更改为:
assertEquals(ab, "Register here");
您得到的断言失败,因为'ab'的值为空。这可能是因为没有正确定位元素。始终建议使用相对XPath表达式而不是绝对XPath表达式来定位元素。打印ab值时,请共享相关HTML代码,打印的是什么?是打印相关值吗?@Single31:我已经提供了链接。@vinay:没有打印。只有空白是可见的。我知道当我将代码更改为Assert.assertEquals(ab,“在这里注册”)时,代码将正常运行。但我的问题是关于条件Assert.assertEquals(ab,“Regist5434er here”)(Assert为FALSE);我的代码没有打印行系统.out.println(ab);。为什么?
assertEquals(ab, "Register here");