我的verifyText函数的片段:
String actual = driver.findElement(By.xpath(OR.getProperty(object))).getText();
String expected=data;
我的isDisplayed功能的片段:
if (driver.findElement(By.xpath(OR.getProperty(object))).isDisplayed()){
数据="请输入有效的电子邮件地址"
然而,唯一可见的文字是"请"。但是当我使用Selenium IDE时,它也会看到"请输入有效的电子邮件地址"。它只是被切断了。但自动化通过了这一步,但我希望它失败。我尝试了上面的两个函数,结果相同。
有什么方法可以让我们在期待&#34时失败这一步;请输入有效的电子邮件地址"但只有"请"是否对用户可见?
HTML:
<li class="mktFormReq mktField" title="Please enter a valid email address">
<label>Email Address:</label>
<span class="mktInput mktError">
<input id="Email" class="mktFormText mktFormEmail mktFReq" type="text" tabindex="3" maxlength="255" value="" name="Email">
<span class="mktFormMsg" style="left: 214px;">Please enter a valid email address</span>
</span>
</li>
目视:
只有Please是可见的,其余的如果被切断。
答案 0 :(得分:1)
Selenium不知道你在页面上看到了什么,它只检查HTML。您的HTML包含&#34;请输入有效的电子邮件地址&#34;,我不知道为什么它不会显示在您的网页中。
由于它总会返回HTML中的内容,如果您只是检查&#34;请&#34;
,您的测试将始终失败。答案 1 :(得分:0)
该节点包含文字&#34;请输入有效的电子邮件地址&#34;,这就是为什么selenium正在传递,如果它是否可见则无关紧要(事实上,它是可见的,因为元素存在)
我认为没有办法验证在这种情况下,您只需要在视觉上进行检查。
请记住,自动化不是手动测试替代品。