使用Xpath识别Tosca中的对象
我最近在复习我在TOSCA方面的技能,2年前我在做这项工作,后来改用了Selenium,我注意到新的TOSCA允许使用Xpath进行识别,现在我对它非常熟悉,我不能让它在TOSCA中工作,而且我确信对象标识可以工作,因为我正在google chrome开发工具中测试我的xpath 像(//*[text()=“忘记密码?”)[1]这样简单的东西似乎不起作用。我会错过什么吗 这是我在此示例中用作参考的网页:使用Xpath识别Tosca中的对象,xpath,tosca,Xpath,Tosca,我最近在复习我在TOSCA方面的技能,2年前我在做这项工作,后来改用了Selenium,我注意到新的TOSCA允许使用Xpath进行识别,现在我对它非常熟悉,我不能让它在TOSCA中工作,而且我确信对象标识可以工作,因为我正在google chrome开发工具中测试我的xpath 像(//*[text()=“忘记密码?”)[1]这样简单的东西似乎不起作用。我会错过什么吗 这是我在此示例中用作参考的网页: 我知道,在Tosca API测试中处理XML消息时,可以使用XPath识别元素。您的用例似乎
我知道,在Tosca API测试中处理XML消息时,可以使用XPath识别元素。您的用例似乎是UI测试,但我不确定。您是否尝试使用XScan扫描页面?通常,Tosca会自动为您计算一个可以立即使用的XPath表达式 请看地图
如果它仍然不起作用,请尽量具体一些?什么不起作用?错误消息?意外的行为 Tosca提供了一组用于定位任何类型元素的属性。您可以直接选择任意数量的属性,使元素与该元素的索引一起唯一。只需确保您没有在该元素的“id”或“classname”中使用任何动态值,而且索引范围也不会像100个中的20个那样大;它可能是10个中的5个,如果您将来需要更新它,这将非常有用。
还可以利用父元素,这些元素将很容易地唯一定位,然后定位您期望的元素。TOSCA提供了各种方法来定位元素,就像selenium plus一样,此外,它还将提供其他属性。在“转换属性”下,您将找到x路径,它将是绝对x路径,因为您知道selenium plus了解绝对和相对x路径之间的差异。我建议你和我一起去。 1.通过ID或名称识别 2.通过锚定进行识别
如果相对x路径不工作请尝试加载右侧底部的所有属性。但是我没有点击它就看到了。请参见XPath当然可以用于识别Tosca中HTML web UI的元素 由于问题最初发布,位于的“忘记密码”链接似乎已更改,因此其文本现在为“忘记密码”,实际上位于。 为了解释这一变化,此答案使用“(//*[text()=‘忘记密码?’)[1]”而不是原始帖子中提供的表达式 通过文本修改,表达式将元素用双引号括起来后,用于标识XScan中的元素:
"(//*[text()='Forgot your password?'])[1]"
在Tosca中使用XPath时要记住以下几点:
“id('ui')/div[1]/div[1]/div[1]/a[1]”
- XPath表达式在XModuleAttribute属性中可见且可编辑,无需重新扫描。就我个人而言,我发现使用RelativeId属性的XML值比使用按锚点标识时生成的XML值更容易
- 使用Anchor时,我遇到了这样的问题:当切换到另一个浏览器(特别是从IE切换到Chrome)时,在一个浏览器中扫描的XModuleAttributes再也找不到了。对于XPath,我没有遇到这些问题
也可以使用XPath进行UI测试。