0

我正在测试的页面使用很少的 id。我所有的定位器都是这些长 xpath。我想知道,如果我首先执行一些 javascript 为每个元素注入唯一的类名,然后只通过类名定位,会有什么优点或缺点吗?

编辑我已经在使用页面对象模型。

我的问题很简单,通过 className 定位元素是否有任何优势,例如"uniqueClass01",而不是通过 xpath 等 "/html/body/div[13]/div/div/div/div/div/div/div[7]/div/div/div/div/div/div/div[2]/div/div[2]/div/div/div/div/div/div/div[6]/div/div/div/div/div[2]/a"

我使用 jsExecutor 为每个元素添加了唯一的类——这很容易。我只是想知道这样做是否更好,或者像上面那样使用xpaths。

4

1 回答 1

0

如果您发现您在脚本代码中重复定位器(例如长 xpath),则表明存在问题。您可以为每个元素注入一个唯一的类名并从那时起使用该定位器;但是您的脚本代码仍然需要重复新的定位器(唯一的类名)。

我建议使用页面对象模型来构建您的脚本;这样,每个定位器将只定义一次。只要定位器只定义一次,不管是短类名还是长xpath;它会让你的脚本更清晰易读。

于 2013-05-07T11:22:49.703 回答