【问题标题】:How to verify text present of HTML 5 validation popup in Selenium IDE如何在 Selenium IDE 中验证 HTML 5 验证弹出窗口的文本存在
【发布时间】:2015-02-23 06:47:14
【问题描述】:

我是 Selenium IDE 的新手。我使用 Html 5 验证创建了简单的表单。

我已经为 Selenium IDE 中的测试表单创建了测试用例。但是,当我尝试验证弹出窗口“请填写此字段”时,测试用例失败了。这是使用 selenese 命令 verifyAlertPresent 的 html 5 验证弹出窗口。

如何在 selenium IDE 中验证 Html 5 验证弹出窗口?

我附上了两张截图:

  1. 表单验证:http://i.stack.imgur.com/gT7hX.png

  2. Selenium IDE 测试用例:http://i.stack.imgur.com/M6geD.png

但是有一个问题是它不适用于基于特定 id 的测试用例。如果我想在我的代码中检查 id=name 它工作正常,但在第二个命令中如果我想检查“请填写此id=email 的字段”,然后它会弹出 id=name 和 case 传递。这是我的代码:

测试用例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://localhost/testform.html" />
<title>testform</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">testform</td></tr>
</thead><tbody>
<tr>
    <td>open</td>
    <td>/testform.html</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>css=button[type=&quot;submit&quot;]</td>
    <td></td>
</tr>
<tr>
    <td>pause</td>
    <td></td>
    <td>5000</td>
</tr>
<tr>
    <td>verifyElementPresent</td>
    <td>id=name</td>
    <td>//*[contains(., 'Please fill out this field.')]</td>
</tr>
<tr>
    <td>pause</td>
    <td></td>
    <td>5000</td>
</tr>
<tr>
    <td>verifyElementPresent</td>
    <td>id=email</td>
    <td>//*[contains(., 'Please fill out this field.')]</td>
</tr>
</tbody></table>
</body>
</html>

HTML 代码:

<!DOCTYPE html>
<html>
<head>
<title>
Test Form for Selenium
</title>
</head>
<body>
<form ><center>
Name:<input id="name" type="text" required/><br/><br/>
Email:<input id="email"  type="email" required/><br/><br/>
<button type="submit" >submit</button>
<center>
</form>
</body>
</html>

【问题讨论】:

    标签: selenium-ide


    【解决方案1】:

    应该有可以像其他元素一样检查的 html。

    试试类似的东西

    <tr>
    <td>verifyElementPresent</td>
    <td>//*[contains(., 'Please fill out this field.')]</td>
    <td></td>
    </tr>
    

    尝试一下,但是在检测到元素后请选择更好的选择元素的方式。

    【讨论】:

    • 感谢您的回复,但如果我将 //*[contains(., '请填写此字段。')] 放入值 verifyElementPresent 中,我的测试就成功了 //*[contains(., '请填写此字段。')]
    • 您需要它位于它正在寻找定位器的第二列中。
    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 2018-02-24
    • 1970-01-01
    • 2016-05-11
    • 2018-10-21
    • 2019-01-22
    • 1970-01-01
    • 2014-06-23
    相关资源
    最近更新 更多