问题1:什么样的项目适合做UI自动化?
这个问题是需要在开展UI自动化测试之前必须要考虑的,比较稳定且UI页面不会频繁改动的项目。
如果在一个版本迭代快的项目,就好不要开展UI自动化,因为你会发现,当你这个版本的UI自动化测试脚本还没调试完,下个版本的需求就快上线了,这就很尴尬,相当于你之前写的老版本的脚本意义为0。
问题2:做UI自动化测试最常见的问题?
元素定位
做UI自动化测试无非就是模拟用户的操作页面,最终校验输入和输出是否正确。最常见的问题就是元素定位。经常发现脚本报找不到元素,如下图

有哪些原因导致找不到元素:
1、新需求导致页面变化(个人遇到这种情况是最多的),
2、页面未加载完,就执行了定位元素代码:解决方法有多种-可以加time.sleep(2),但是等待多少秒合适是个头疼的问题,所以推荐下面这种写法
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.XPATH, '//*[@id="su"]'))
)
text = driver.page_source
print("text", text)
finally:
driver.quit()
3、动态id:可以尝试用xpath定位或者用css
4、。。。。。。自行百度吧,网上有很多种,例如这篇博客https://www.cnblogs.com/yufeihlf/p/5689042.html
下面是具体案例:由于页面中都是可配置项,每个用户进来都有可能展示不一样,所以脚本逻辑:进入页面-根据用户ID或者时间等信息去查询数据库,根据数据库返回的值,来作为断言






网友评论