尝试在(fillField)中使用XPath进行自动测试

时间:2013-08-27 10:43:16

标签: javascript xpath automated-tests codeception

尝试测试一些字段,当我检查“Inspect element”以识别字段的ID或名称但是只有类不起作用所以我决定使用XPath例如:

$I->fillField('/html/body/div/form/div[2]/div[3]/div/div[1]/label/span[1]','GRV');

获取失败和错误:

1) Couldn't sign in in Authorization  
Ups, I couldn't fill field "/html/body/div/form/div[2]/div[3]/div/div[1]/label/s
pan[1]","blabla",
Field by name, label, CSS or XPath '/html/body/div/form/div[2]/div[3]/div/div[1]
/label/span[1]' was not found on page.
我检查了几次XPath,无法测试这个字段。如果你说出什么是问题以及如何解决它,那将会很棒。

2 个答案:

答案 0 :(得分:0)

您尝试填充标签,而不是输入元素:

//label/span[1]

确保选择要填充的输入字段。如果您的标签的for-attribute值为“foo”,请查找<input id="foo"/>

答案 1 :(得分:0)

好吧,避免使用这种XPath。真的太啰嗦了。你只是打破了你的想法,我们也试图解决它:)只需将#id选择器添加到你匹配的元素并且开心。

使用此类XPath的测试将在页面的每次标记更改时中断。你为什么需要一个难以维持的测试?