2021年5月24日
摘要: 传统的设计中,在新增测试用例之后,测试代码会有如下几个问题: (1)易读性差:一连串的find_element和wait.until会使代码显得杂乱无章,不方便阅读; (2)可扩展性不好:用例孤立,无法扩展; (3)可复用性差:无公共方法,很难进行复用; (4)可维护性差:一旦页面元素发生变化,需要 阅读全文
posted @ 2021-05-24 10:14 jyf上善若水 阅读(305) 评论(0) 推荐(0) 编辑
  2021年5月23日
摘要: 在web自动化测试的过程中,可能会涉及到文件的上传,因此我们有必要简单的了解一下文件上传的操作方式。 方式一:使用pywinauto -- pip install pywinauto 缺点:只能在windows系统上使用 优点:可以同时选择多个文件,同时允许路径中存在中文字符 【部分实例】 1 fr 阅读全文
posted @ 2021-05-23 20:02 jyf上善若水 阅读(204) 评论(0) 推荐(0) 编辑
  2021年5月22日
摘要: 使用js可以修改html页面中标签的属性和文本内容。接下来我们将根据实战中遇到的问题,简单的总结一下selenium中常见的js操作。 一、对input执行输入 场景描述:当我们打开12306的网页时,出发日期不能进行手动的输入,只能通过选择框进行选择,这不利于我们进行自动化测试操作。 此时我们借助 阅读全文
posted @ 2021-05-22 17:18 jyf上善若水 阅读(214) 评论(0) 推荐(0) 编辑
  2021年5月21日
摘要: 在html页面中,常见的下拉别表操作采用select--option的方式来实现。 针对这一类的下拉列表操作,我们在进行自动化操作时需要引入Select类:from selenium.webdriver.support.select import Select 操作流程如下: 1、找到页面中的sel 阅读全文
posted @ 2021-05-21 17:10 jyf上善若水 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、鼠标操作 常见的鼠标操作有: (1)click():单击 (2)double_click():双击 (3)context_click():右击 (4)click_and_hold():按下鼠标左键不松开 (5)release():鼠标左键抬起操作 (6)move_to_element():鼠标悬 阅读全文
posted @ 2021-05-21 17:06 jyf上善若水 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 在进行元素定位操作的过程中,我们常会遇到如下3种切换操作,分为为: 1、iframe切换操作 2、window切换操作 3、alert弹窗切换操作 在本节中,我们将详细介绍上述3种切换操作。 一、iframe切换操作 1、什么时候需要使用iframe切换操作? 当我们在进行元素定位时,发现待操作的元 阅读全文
posted @ 2021-05-21 17:01 jyf上善若水 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 我们在进行元素定位的过程中,可能会出现no such element:Unable to locate elementd的错误提示。 出现这一问题可能有如下3方面的原因,分别是: (1)元素定位表达式有误 定位方案:在html页面中,通过按F12后输入定位表达式确认是否有误 (2)等待不到位 定位方 阅读全文
posted @ 2021-05-21 14:51 jyf上善若水 阅读(162) 评论(0) 推荐(0) 编辑
  2021年5月20日
摘要: pytest相较于unittest,提供了失败重运行机制。一旦测试用例运行失败,可以马上进行重运行。 在使用pytest的失败重运行机制前,需要安装相应的插件: 插件名称:rerunfailures 安装方法:pip install pytest-rerunfailures 使用方式: 方式一: 命 阅读全文
posted @ 2021-05-20 21:55 jyf上善若水 阅读(129) 评论(0) 推荐(0) 编辑
摘要: https://docs.qameta.io/allure/#_pytest 当我们在写好测试用例后,在某些特定的环境下(如冒烟测试)只需要运行部分测试用例,此时我们可以对待运行的测试用例打标记,这样在运行的时候就可以只运行打过标记的测试用例,从而满足我们的实际业务需求。具体流程如下: 1、注册标记 阅读全文
posted @ 2021-05-20 21:23 jyf上善若水 阅读(98) 评论(0) 推荐(0) 编辑
摘要: pytest中数据驱动的实现:在测试用例上加@pytest.mark.parametrize,用于接收测试数据 具体实现方式: 1、单个参数 @pytest.mark.parametrize("参数名",列表数据),其中, 参数名:用来接收列表数据中的每一项数据,作为测试用例中的参数 列表数据:一组 阅读全文
posted @ 2021-05-20 19:58 jyf上善若水 阅读(121) 评论(0) 推荐(0) 编辑