pytest自动化测试学习部分遇到的问题总结(持续更新)

1、很久不用pycharm,新建一个测试项目后,拷贝了 上一个项目的部分代码,发现 allure安装不成功,检查了所有该有的配置也不成功(这个问题的过程被我不小心关掉了,没有放截图)
最后看到error内容提示:大概是需要先安装wheel再安装allure
尝试

pip install wheel

pip install allure -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

就好了

用pip install 包名安装不成功时,有可能是python镜像不稳定导致,可是试试用

pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

从镜像源直接安装

2、安装好allure后, 提示__init__里面没有step,经过多次尝试,卸载和重新安装相关依赖包后成功了,这几个包重新装过,卸载掉allure包,还有一种原因就是在.py文件里这个包的导入方式不对,重新导入一下。

pytest自动化测试学习部分遇到的问题总结(持续更新)
3、主表input框,id是变换的,不能用id定位

4、写好登陆页面后,执行新建单据页面时, 重复打开登陆页面

补充回答:basepage页不能有__ini__构造方法,不然每次打开都会执行一次。

5、同一张单据中第二个请确定不能再用span定位,是检测到的元素重复吗?

6、 出现编码格式报错的问题时:(返回值的编码格式与当前文件的编码格式保持一致就可以)

(1)ini文件的ANSI格式直接使用Notepad++转;
(2)yaml文件中,获得当前文件根目录时,出现编码格式错误 a.可以直接在pycharm右下角直接更改编码格式;b.或在setting中file encodeings中更改编码格式

7、页面元素还未加载完整时,就进行元素查找造成 NoSuchElementException,可以使用显示等待解决

1)隐式等待:在查找任何元素时都会在一定时间内轮询DOM,不够灵活
   语法: driver.implicitly_wait(10)//  最多可在10S内轮询查找元素
2)显示等待:在限定时间之内,直到元素出现才操作,若超过限定时间则抛出异常
    语法:
 WebDriverWait(driver, timeout=5, poll_frequency=1, ignored_exceptions='ElementNotVisibleException').until(some_condition)
    eg:WebDriverWait(driver, 5).until(EC.element_to_be_clickable(element))  # 等待元素可点击

3)强制等待: time.sleep(4)//效率低

8、 精确查找和模糊定位

  定位非select下拉框中的元素时:使用绝对路径无法定位,改为使用最内层span的唯一元素进行定位(例://span[contains(text(),"000111222")])
   精确查找://div[text()="name"]
   模糊查找:contains,例://span[contains(text(),"000111222")]

9、函数入口设置生成allure测试报告的路径,才能在网页中 查看allure测试报告
10、只有input标签才能实现sendkeys输入,文件上传时也可以使用sendkeys,这时上传的是文件路径

2022.6.2更新
1、使用paramertrize实现读取文件参数化时,测试用例读取不到传入的参数的值

检查了写入方法等基本错误以后,新建一个项目一步步诚心来,发现是自己函数、类、方法命名不规范导致的

2、用excel实现参数化时,不能读取到str,怎么解决?

Original: https://blog.csdn.net/weixin_44722536/article/details/124923200
Author: 不要问我y
Title: pytest自动化测试学习部分遇到的问题总结(持续更新)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/775352/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球