有建设网站的软件吗,一级a做爰片免费网站迅雷下载,建设厅网站装修合同模板,seo是什么牌子pytest框架的封装以及用例管理框架 公共类统一封装requests_util02.pytest_api01.py 自动化测试的基础自动化测试的介入点自动化测试和手工测试占比自动化实施过程 pytest元素定位元素定位查找元素定位的方式通过 ID 定位通过 Name 定位通过 Class Name 定位通过 Tag Name 定位… pytest框架的封装以及用例管理框架 公共类统一封装requests_util02.pytest_api01.py 自动化测试的基础自动化测试的介入点自动化测试和手工测试占比自动化实施过程 pytest元素定位元素定位查找元素定位的方式通过 ID 定位通过 Name 定位通过 Class Name 定位通过 Tag Name 定位通过 XPath 定位通过 CSS Selector 定位通过 Link Text 定位用于定位链接通过 Link Text 定位用于定位链接案例分析 公共类 import requests
class RequestsUtil02:# 创建一个 requests 库的会话sess requests.session()# 定义一个发送所有请求的函数def send_all_request(self, **kwargs):# 使用会话对象发送请求res self.sess.request(**kwargs)# 返回响应对象return res 统一封装
requests_util02.py
import requestsclass RequestsUtil02:# 创建一个 requests 库的会话sess requests.session()# 定义一个发送所有请求的函数def send_all_request(self, **kwargs):# 使用会话对象发送请求res self.sess.request(**kwargs)print(res.json())# 返回响应对象return resdef send_all_reuqest(self, method, url, params):pass
test_api01.py
import jsonpath
import requests
from common_02.requests_util02 import RequestsUtil02class TestApi:#创建一个类变量access_token #获取鉴权码的接口def test_get_token(self):urls https://api.weixin.qq.com/cgi-bin/tokendatas {grant_type: client_credential,appid: wx8a9de038e93f77ab,secret: 8326fc915928dee3165720c910effb86}resRequestsUtil02().send_all_reuqest(methodget,urlurls, paramsdatas)# print(res.json())# res requests.get(urlurls, paramsdatas)# 从响应结果中解析出 JSON 数据并使用 jsonpath 提取出 access_token 的值# jsonpath.jsonpath() 返回一个列表包含所有匹配到的结果这里假设 access_token 只有一个# lisjsonpath.jsonpath(res.json(), $.access_token)# TestApi.access_tokenres.json()[access_token]# print(TestApi.access_token)# 打印提取到的 access_token 的值lis[0] 是因为 jsonpath 返回的是一个列表我们需要取第一个元素# print(lis[0])#获取测试查询的接口def test_select_flag(self):urls https://api.weixin.qq.com/cgi-bin/get_current_selfmenu_infodatas {access_token: TestApi.access_token}res RequestsUtil02().send_all_reuqest(methodget,urlurls, paramsdatas)# print(res.json())#编辑便签的接口def test_edit_flag(self):urlshttps://api.weixin.qq.com/cgi-bin/menu/createdatas1{access_token: TestApi.access_token}data2{button:[{type:click,name:今日歌曲,key:V1001_TODAY_MUSIC},{name:菜单,sub_button:[{type:view,name:搜索,url:http://www.soso.com/},{type:view,name:视频,url:http://v.qq.com/},{type:click,name:赞一下我们,key:V1001_GOOD}]}]}resRequestsUtil02().send_all_reuqest(methodpost,urlurls,jsondata2,paramsdatas1)# print(res.json())if __name__ __main__:TestApi().test_get_token()TestApi().test_select_flag()TestApi().test_edit_flag()自动化测试的基础
自动化测试的介入点 到项目的中后期和维护期自动化适合介入 三期8个月 第一期3个月 第二期2.5个月 自动化迭代半个月-一个月 自动化测试和手工测试占比
小型项目 在小型项目中自动化测试的比例可能较低大约占总测试工作量的 10% 到 30% 左右。这是因为在小型项目中通常会有较少的功能和交互因此自动化测试的需求相对较少。手工测试通常会占据较大的比例用于验证基本功能和交互是否正常。 中型项目 在中型项目中自动化测试的比例可能会增加大约占总测试工作量的 30% 到 50%。这是因为中型项目通常会涉及到更多的功能和交互手工测试会变得更加耗时和繁琐。因此团队会倾向于增加自动化测试的覆盖范围以提高测试效率和稳定性。 大型项目 在大型项目中自动化测试的比例通常会进一步增加占总测试工作量的 50% 到 80% 或更多。这是因为大型项目通常会涉及到复杂的功能和交互手工测试可能无法满足测试需求。因此团队会投入更多的资源和精力来建立和维护自动化测试框架并加强自动化测试的覆盖范围。 自动化实施过程 1.可行性分析 2.框架选择(selenium,RF) 3.需求分析 4.制定计划 5.测试用例的设计从功能测试收取 6.环境搭建 7.版本控制 8.脚本维护 pytest元素定位
元素定位查找 1.元素是否加载完成 2.页面是否存在frame或者iframe 3.元素是否不可用或者不可读不可见 是否是动态的元素动态的DIV层字定义组件 前提元素唯一 元素定位的方式
通过 ID 定位
element driver.find_element(By.ID, element_id)
通过 Name 定位
element driver.find_element(By.NAME, element_name)
通过 Class Name 定位
element driver.find_element(By.CLASS_NAME, element_class)
通过 Tag Name 定位
element driver.find_element(By.TAG_NAME, element_tag)
通过 XPath 定位
element driver.find_element(By.XPATH, //div[classexample])
通过 CSS Selector 定位
element driver.find_element(By.CSS_SELECTOR, div.example)
通过 Link Text 定位用于定位链接
element driver.find_element(By.LINK_TEXT, Link Text)
通过 Link Text 定位用于定位链接
element driver.find_element(By.PARTIAL_LINK_TEXT, Partial Link Text)
案例分析
from selenium import webdriver
from selenium.webdriver.common.by import By# 启动浏览器
driver webdriver.Chrome()# 打开商城网站
driver.get(http://example.com)# 定位搜索框并输入关键字
search_box driver.find_element(By.ID, search-box)
search_box.send_keys(手机)# 定位搜索按钮并点击
search_button driver.find_element(By.ID, search-button)
search_button.click()# 定位搜索结果中的第一个商品并点击进入商品详情页面
first_product driver.find_element(By.CLASS_NAME, product-item)
first_product.click()# 在商品详情页面定位加入购物车按钮并点击
add_to_cart_button driver.find_element(By.XPATH, //button[contains(text(), Add to Cart)])
add_to_cart_button.click()# 定位购物车图标并点击进入购物车页面
cart_icon driver.find_element(By.CLASS_NAME, cart-icon)
cart_icon.click()# 关闭浏览器
driver.quit()