python - 在 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']
解决方案
将 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']")
推荐阅读
- c++ - 使用任何参数集在类模板中实例化 typename 对象
- angular - Angular - rest api json对模型的响应
- transactions - Power Automate 事务,如 SQL
- android - 我如何实现锁定屏幕的媒体播放器媒体会话?
- angular - 从 Angular 10 在 ASP.NET Core 3 中的 post 请求中获取 Null 值
- python - 如何在 pyspark 中的 AWS Glue 作业中避免 OOM 错误
- liquid - 多个两个 numbes 并与另一个 Liquid 标签比较
- terraform - 返回地图值的单个列表
- android - 将 URL 作为参数传递给 Jetpack Compose Navigation
- r - str_detect 使用 R 具有多个相同类型的字符串(而不是或)