2

Python全栈自动化VIP课程对标大厂标准

 1 year ago
source link: https://studygolang.com/articles/36190?fr=sidebar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python全栈自动化VIP课程对标大厂标准

xiaotu123 · 大约14小时之前 · 163 次点击 · 预计阅读时间 4 分钟 · 大约8小时之前 开始浏览    

首先你得知道什么是Selenium?

Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid。

Selenium IDE:Firefox的一个扩展,它可以进行录制回放,并把录制的操作以多种语言(例如java、python等)的形式导出成测试用例。

Selenium WebDriver:提供Web自动化所需的API,主要用作浏览器控制、页面元素选择和调试。不同的浏览器需要不同的WebDriver。

Selenium Grid:提供了在不同机器的不同浏览器上运行selenium测试的能力。

【华测在线】测开之Python自动化测试全栈VIP课程download/daxiacode.com

框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。

1、使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性;

2、使用yaml管理页面控件元素数据和测试用例数据。例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的页面元素yaml文件中修改即可;

3、分模块管理,互不影响,随时组装,即拿即用。

测试框架分层设计

把常见的操作和查找封装成基础类,不管是什么产品,可直接拿来复用

业务层主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层

用例层针对产品页面功能进行构造模拟执行测试

框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等

测试框架目录结构

如下思维导图目录结构介绍:

编写用例方法

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以关注我个人公众号:程序员一凡,公众号内会有不定期的发放免费的资源链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家

testinfo:

  • id: test_login001

title: 登录测试

info: 打开抽屉首页

testcase:

  • element_info: login-link-a

find_type: ID

operate_type: click

info: 打开登录对话框

  • element_info: mobile

find_type: ID

operate_type: send_keys

info: 输入手机号

  • element_info: mbpwd

find_type: ID

operate_type: send_keys

info: 输入密码

  • element_info: //input[@class='keeplogin']

find_type: XPATH

operate_type: click

info: 单击取消自动登录单选框

  • element_info: //span[text()='登录']

find_type: XPATH

operate_type: click

info: 单击登录按钮

  • element_info: userProNick

find_type: ID

operate_type: perform

info: 鼠标悬停账户菜单

  • element_info: //a[@class='logout']

find_type: XPATH

operate_type: click

info: 选择退出

check:

  • element_info: //div[@class='box-mobilelogin']

/div[1]/span

find_type: XPATH

info: 检查输入手机号或密码,登录异常提示

  • element_info: userProNick

find_type: ID

info: 成功登录

  • element_info: reg-link-a

find_type: ID

info: 检查退出登录是否成功

login.yaml

例如,我们要新增登录功能测试用例:

首先,只需在testyaml目录下新增一个页面对象yaml文件,参考login.yaml格式编写即可。这些文件是提供给封装页面对象类调用并执行定位识别操作。

id: test_login001.1

detail : 手机号和密码为空登录

screenshot : phone_pawd_empty

data:

phone: ""

password: ""

check :

  • 手机号不能为空

id: test_login001.2

detail : 手机号为空登录

screenshot : phone_empty

data :

phone: ""

password : aa

check :

  • 手机号不能为空

id: test_login001.3

detail : 密码为空登录

screenshot : pawd_empty

data :

phone : 13554442222

password: ""

check :

  • 密码不能为空

id: test_login001.4

detail : 非法手机号登录

screenshot : phone_error

data :

phone : abc

password: aa

check :

  • 手机号格式不对

id: test_login001.5

detail : 手机号或密码不匹配

screenshot : pawd_error

data :

phone : 13511112222

password: aa

check :

  • 账号密码错误

id: test_login001.6

detail : 手机号和密码正确

screenshot : phone_pawd_success

data :

phone : 13500000000

password: **

check :

  • yingoja

login_data.yaml

login_data.yaml

其次,在testdata目录下新增一个login_data.yaml文件提供给登录接口传参的测试数据,编写格式参考login_data.yaml文件。

最后,在testcase目录下创建测试用例文件login_sta.py,采用ddt数据驱动读取yaml测试数据文件

综上所述,编写用例方法只需要按以上四个步骤创建->编写即可。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK