在Google上,检查一个元素并复制它的xPath,给出以下值
//*[@id='Body']/app-root/app-generic-product/section[2]/div/app-product-summary-list/app-product-summary[2]/div/div[4]/button[2]我尝试在Firefox中获取相同元素的xPath,它给出了一个不同的路径:
/html/body/app-root/app-generic-product/section[2]/div/app-product-summary-list/app-product-summary[2]/div/div[4]/button[2]我的主要测试浏览器是Chrome,我尝试了Firefox提供的浏览器。啊,真灵。
我的问题是,哪个更可靠,是火狐还是Chrome提供的?在与其他浏览器(IE、Opera)的测试和稳定性方面(如果开发人员做了与元素无关的非常微小的更改)。它会破坏xpath吗?)
发布于 2018-07-17 17:59:50
在编写测试时,这些XPaths都不是您应该使用的。它们是如此具体,以至于在测试中变得非常脆弱,在这些测试中,即使是微小的页面更改也会导致测试失败。您确实需要根据页面中与特定测试相关的部分中唯一可识别的元素为元素编写自己的选择器。
发布于 2018-07-17 16:43:30
第一个xpath是相对xpath的一个示例。
这不是最好的例子,而是相对的,因为它从具有“body”ID的根中搜索任何类型的第一个元素。xpath的其余部分是相同的。
第二个xpath是绝对的,这只意味着从文档的绝对根开始并以这种方式到达body标记是硬编码的。
通常情况下,您会希望使用相对的xpath,但是总是有异常。至于哪一个更可靠,我想说两者都不可靠,但稍微接近绝对的边缘。
发布于 2018-07-17 18:42:11
第一个Xpath是相对xpath,它直接在网页上定位元素。第二个Xpath是绝对xpath,它从起始标记中定位元素。
总是喜欢使用相对Xpath来定位web元素。您也可以使用绝对Xpath,但是在使用这个xpath时,如果开发人员在中间插入一个新标记,则绝对xpath将失败。
此外,与Id、class等两个定位器相比,Xpath定位web元素所需的时间相对较长。在这方面,如果您更喜欢使用绝对Xpath方法,这甚至会减慢脚本执行时间。
https://sqa.stackexchange.com/questions/34796
复制相似问题