首页 > 解决方案 > 在 selenium 中维护 xpath 的最佳方法是什么?

问题描述

现在我只是在'.ini'文件中维护它并通过'configparser'访问。但问题是,当我们处理一些包含如此多页面的大型应用程序时,很难进行任何更改。


[login]
login_window=//h4[text()='Login']
username_input=//input[@name='username']
password_input=//input[@name='password']
login_button=//input[@value='Login']

标签: pythonpython-3.xselenium

解决方案


将 XPATH 保留在外部是一种好方法,但是 XPATH 很耗时,它缺乏性能,而且您发现它很难维护。

取而代之的是使用 CSS_SELECOTRS、CLASSNAME 或 ID - 这些很少更改,它会通过新的 UI 更改来更新您的测试。此外 - 使用页面对象模式 - 您可以将 UI 页面映射到类中,并且每个字段将由选择器定义,更容易跟踪更改。

例如。

username_input=By.CSS_SELECTOR("input[@name='username']")
password_input=By.CSS_SELECTOR("input[@name='password']")
login_button=By.CSS_SELECTOR("input[@value='Login']")

这是PO 模式的一个很好的介绍


推荐阅读