Python 大家看下这段测试代码有什么问题么?怎么看到这么多断言

一只咸鱼 · 2018年12月21日 · 最后由 一只咸鱼 回复于 2018年12月24日 · 3945 次阅读


场景:一个 app 的某个检查点进行的检测

共收到 11 条回复 时间 点赞

不知道实际场景和上下文怎样,不好说有没有问题。

但这种风格,可读性和复用性都比较弱,大量用 sleep 而非智能等待也比较低效,程序属于 “能用” ,但离 “好用” 还有些距离。建议看看 Page Object 优化下,至少也把变量命名为 a、b 这种完全不能代表变量内容的命名方式改掉。

中间那 4 个 assertEqual,可以考虑变量用字典的格式来进行保存。
这样以后维护的时候也不容易遗漏。

另外,a 和 b 这样的变量名在实际项目代码里还真是第一次见。

看到 poco 是用的网易 airtest 么,看断言你这应该 是第三方分享页面的吧,但就像前面人说的不知道你的应用场景,而且这么写实在很乱,一次性代码,不好维护

陈恒捷 回复

谢谢

Red_herring 回复

第一次写自动化代码。谢谢建议

John 回复

确实很乱,其实这不是我写的,本来想借鉴下,但是看到后觉得需要改进的地方很多,谢谢

陈恒捷 回复

selenium3 显示等待是不是有坑哇,设置显示等待很长时间还是大部分时间点不到右键菜单内容,静态等待一秒要好很多

这是练手

陈恒捷 回复

请问下 ,最好的等待方法是哪个?

一只咸鱼 回复
from selenium import webdriver  
from selenium.webdriver.support.wait import WebDriverWait  
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.common.by import By

WebDriverWait(driver, 20, 0.5).until(expected_conditions.presence_of_element_located((By.ID, 'el_id')))

可以试试 Page Object 模式,维护起来会方便很多

arrow 回复

好嘞 ,,感谢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册