偶然路过的靓仔-胡阳

为中华之崛起而读书!中国加油! 问题不能及时回答,有需要的话加微信:921308494

   ::  ::  ::  ::  :: 管理

2019年12月1日

摘要: get、post是我们常见的接口方式 区别: 安全性:post比get安全 请求参数:get的参数放在url里面(仅支持urlencode编码),post的参数是放在body(支持多种编码) 请求参数长度限制:get请求长度最多1024kb,post对请求数据没有限制 返回的常见状态码: 200成功 阅读全文
posted @ 2019-12-01 19:05 偶然路过的靓仔-胡阳 阅读(192) 评论(0) 推荐(0)

摘要: #打印当前的activity,current_activity time.sleep(10) nowActivity=driver.current_activity print('首页'+nowActivity) #activity的跳转 star_activity() driver.start_a 阅读全文
posted @ 2019-12-01 18:49 偶然路过的靓仔-胡阳 阅读(243) 评论(0) 推荐(0)

摘要: git地址: https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md 版本匹配: Chromedriver / Chrome兼容性 以下是Chromedriver版 阅读全文
posted @ 2019-12-01 18:48 偶然路过的靓仔-胡阳 阅读(257) 评论(0) 推荐(0)

摘要: Android-sdk下常用的ADT工具: AVD manager(安卓自带的模拟器,占用CPU资源较高,启动慢) SDK manager 还需要装对应的安卓版本 坑:装的时候提示某个目录下面没有文件,无法操作 解决方法:SDK manager 右键使用管理员身份运行 tools下的uiautoma 阅读全文
posted @ 2019-12-01 18:47 偶然路过的靓仔-胡阳 阅读(251) 评论(0) 推荐(0)

摘要: 1.查看5037端口被占用进程 netstat -ano | findstr "5037" 罪魁祸首是这个PID为5196的家伙 2. tasklist|findstr "5196" 啊~又是这该死的360手机助手 3.打开任务管理器 kill它 阅读全文
posted @ 2019-12-01 18:47 偶然路过的靓仔-胡阳 阅读(172) 评论(0) 推荐(0)

摘要: pytest下载: pip install pytest 查看pytest版本 pip list 回顾pytest基本用法: pytest 标记:@pytest.mark.名称,可对类或者方法进行标记 指定运行:pytest -m 名称 运行所有用例pytest(以test_开头) 需要import 阅读全文
posted @ 2019-12-01 18:46 偶然路过的靓仔-胡阳 阅读(582) 评论(0) 推荐(0)

摘要: 什么是YAML? YAML:Yet Another Markup Language :另一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大 YAML的语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,只要相同层级的元素左侧 阅读全文
posted @ 2019-12-01 18:45 偶然路过的靓仔-胡阳 阅读(1313) 评论(0) 推荐(0)

摘要: 一 手工测试用例与自动化测试用例的对比 二自动化测试用例的实现 手工/自动化测试用例对比: 自动化测试用例注重点: 1.不是所有的手工用例都要转换成自动化测试用例 2.考虑到脚本开发成本,需要和人工测试用例成本做对比 3.最好是通过场景来设计测试用例,可抽出page模块,执行case,便于开发和维护 阅读全文
posted @ 2019-12-01 18:44 偶然路过的靓仔-胡阳 阅读(578) 评论(0) 推荐(0)

摘要: 前提 条件 1.toast要appium1.6.3以上版本才支持2.从appium1.7官方文档来看,可以支持:Espresso、UiAutomator2、 UiAutomator、 Selendroid四种驱动模式(建议使用UIAutomator2)3.UIAutomator2:只支持Androi 阅读全文
posted @ 2019-12-01 18:43 偶然路过的靓仔-胡阳 阅读(444) 评论(0) 推荐(0)

摘要: 什么是toast提示信息? toast:Android中的Toast是一种简易的消息提示框。 它永远不会获得焦点,无法被点击。用户将可能是在中间键入别的东西。Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,Toast会根据用户设置的显示时间后 阅读全文
posted @ 2019-12-01 18:40 偶然路过的靓仔-胡阳 阅读(517) 评论(0) 推荐(0)

摘要: 一 常用的元素定位方法 二 如何使用元素定位方法 有哪些常用的元素定位方法? id定位: find_element_by_id() name定位: find_element_by_name() className定位:find_element_by_class_name() Accessibilit 阅读全文
posted @ 2019-12-01 18:37 偶然路过的靓仔-胡阳 阅读(275) 评论(0) 推荐(0)

摘要: 1.回顾appium的原理 2.启动淘宝apk案例 3.Desired Capabilities Desired Capsbilities官方解释: http://appium.io/docs/en/writing-running-appium/caps/ APPium原理 监听4723端口,客户端 阅读全文
posted @ 2019-12-01 18:33 偶然路过的靓仔-胡阳 阅读(230) 评论(0) 推荐(0)

摘要: 1.Android—sdk下的模拟器,这个不推荐使用 2.我们使用夜神模拟器,去360软件管家中下载 3.安装 4.把安装目录加入系统变量path中:G:\YeShenMoniqiSetUp\Nox\bin 5.夜神模拟器保持打开状态,打开cmd,切换至该安装目录 输入命令nox_adb.exe c 阅读全文
posted @ 2019-12-01 18:32 偶然路过的靓仔-胡阳 阅读(428) 评论(0) 推荐(0)

摘要: 学会常用的adb命令 adb version:查看版本 adb --help:查看帮助 adb devices:查看连接设备 连接手机,查看devices是否连接好 安卓机用数据线连,下载好相应驱动 打开开发者模式 打开调试模式 cmd中输入adb devices 连接设备不上怎么办? 这个表示,没 阅读全文
posted @ 2019-12-01 18:30 偶然路过的靓仔-胡阳 阅读(509) 评论(0) 推荐(0)

摘要: 1.常见的页面控件 2.package、activity介绍 3.aapt的使用 Android界面描述: Android系统中所有ui界面都是建立在View和ViewGroup及其派生类组合而成的 View :View是所有UI组件的基类 ViewGroup:ViewGroup是容纳View及其派 阅读全文
posted @ 2019-12-01 18:28 偶然路过的靓仔-胡阳 阅读(638) 评论(0) 推荐(0)

摘要: git下载地址: https://github.com/appium/appium-desktop/releases/tag/v1.13.0 下载好之后,双击exe文件,傻瓜式安装, 当然appium也可以用命令行,看你自己的公司来 阅读全文
posted @ 2019-12-01 18:27 偶然路过的靓仔-胡阳 阅读(216) 评论(0) 推荐(0)

摘要: 一原理 二流程 一原理 appium用途? selenium一样是开源工具 适用于ios和Android的原生应用、及嵌入网页的混合应用。 主流的移动端测试工具 appium自动化原理? 监听4723端口,客户端向服务端发送请求,服务端把请求转换成机器可识别的命令,通过API接口发送给移动端,移动端 阅读全文
posted @ 2019-12-01 18:26 偶然路过的靓仔-胡阳 阅读(240) 评论(0) 推荐(0)

摘要: 以管理员身份运行cmd 然后再执行pip的更新命令或者其他命令 阅读全文
posted @ 2019-12-01 18:03 偶然路过的靓仔-胡阳 阅读(258) 评论(0) 推荐(0)

摘要: 如何集成python,selenium,unittest/pytest,github,jenkins,示意图: 1.在测试服务器上搭建jenkins 2.在测试服务器上搭建一套selenium可执行环境 3.构建自由风格项目,输入shell命令(或者定期什么时候执行) 4.开发在测试服务器上构建的时 阅读全文
posted @ 2019-12-01 18:00 偶然路过的靓仔-胡阳 阅读(383) 评论(0) 推荐(0)

摘要: 问题:conftest好像不能再unittest框架里面执行,会报错无法找到contest里面fixture标记的函数 目前我的解决方式是:完全抛弃unittest 按理来说unittest是python自带的测试库,pytest可以用于执行unittest,一个测试环境里面可以同时执行pytest 阅读全文
posted @ 2019-12-01 17:44 偶然路过的靓仔-胡阳 阅读(606) 评论(0) 推荐(0)

摘要: 偷懒,每次输入pytest ********太多了怎么办? 在pytest.ini文件中配置addopts addopts = -q --tb=line --reruns 1 --html=report_name.html 解释一下: -q: 输入简要信息, --tb=line:信息回溯只有一行 - 阅读全文
posted @ 2019-12-01 17:43 偶然路过的靓仔-胡阳 阅读(1362) 评论(0) 推荐(0)

摘要: pip install pytest-html 安装插件 命令行执行: pytest --html=report_name.html (report_name是存放路径及名称) 报告样式: @william胡阳 阅读全文
posted @ 2019-12-01 17:41 偶然路过的靓仔-胡阳 阅读(158) 评论(0) 推荐(0)

摘要: pip install pytest-repeat 安装插件 再所要执行的用例上添加装饰器 @pytest.mark.repeat(10) 阅读全文
posted @ 2019-12-01 17:40 偶然路过的靓仔-胡阳 阅读(222) 评论(0) 推荐(0)

摘要: 单个参数: @pytest.mark.parametrize('a', [0,1,2,3,4,5]) 多个参数:多个解释器 @pytest.mark.parametrize('a', [0,1,2,3,4,5]) @pytest.mark.parametrize('b', [A,B,C,D,E]) 阅读全文
posted @ 2019-12-01 17:40 偶然路过的靓仔-胡阳 阅读(389) 评论(0) 推荐(0)

摘要: pip install pytest-rerunfailures 安装插件 执行的时候pytest --reruns 1(失败的用例再运行一次) 阅读全文
posted @ 2019-12-01 17:39 偶然路过的靓仔-胡阳 阅读(754) 评论(0) 推荐(0)

摘要: conftest中一般放置前置条件,比如登录等 1.在case目录下(有__init__.py文件),新建conftest.py文件 @wiiliam胡阳 2.在用例中添加 @william胡阳 阅读全文
posted @ 2019-12-01 17:39 偶然路过的靓仔-胡阳 阅读(425) 评论(0) 推荐(0)

摘要: 注意要求: 1.测试用例文件名以test_*.py开头 2.测试类以Test*开头 3.测试类方法以test_*开头 执行某个测试文件: pytest test_*.py 单独执行某个测试用例 pytest test_*.py::test_* 标记的用法: 用于把测试用例分组,在测试用例上添加装饰器 阅读全文
posted @ 2019-12-01 17:38 偶然路过的靓仔-胡阳 阅读(189) 评论(0) 推荐(0)

摘要: 1.下载html插件 http://tungwaiyip.info/software/HTMLTestRunner.html (只支持python2,python3好像要重新找,不确定) 2.放入安装的python37/lib目录下 3.放入工程文件的support文件夹下 4.在main入口文件编 阅读全文
posted @ 2019-12-01 17:37 偶然路过的靓仔-胡阳 阅读(115) 评论(0) 推荐(0)

摘要: 1.认识异常 2.捕获异常 3.断言 4.用例失败截图 (一) 什么是异常? exception:程序一旦遇到错误后,就会引发异常,如果异常没有被处理或者被捕捉,程序就会回溯来终止运行 异常的分类 常见的异常有哪些? BaseException:所有异常类的基类 Exception:所有异常类的基类 阅读全文
posted @ 2019-12-01 17:35 偶然路过的靓仔-胡阳 阅读(573) 评论(0) 推荐(0)

摘要: 1.pip install ddt 2.测试类前读取文件或者写一个list 3.测试类前加入修饰器 @ddt.ddt 4.case前加入修饰器@ddt.data(list) 1.安装 2.测试类前读取文件或者写一个list import ddt list =['111111',' ','seleni 阅读全文
posted @ 2019-12-01 17:33 偶然路过的靓仔-胡阳 阅读(175) 评论(0) 推荐(0)

摘要: 1.unittest是python自带的单元测试框架 2.导入unittest 测试类继承unittest.TestCase 3.setUp类方法是自带的初始化方法,U大写 4.tearDown类方法是自带的释放方法,D大写 阅读全文
posted @ 2019-12-01 17:31 偶然路过的靓仔-胡阳 阅读(108) 评论(0) 推荐(0)

摘要: 自动化应用在什么地方? 1.冒烟测试 2.回归测试 3.用户场景的测试 什么项目适合自动化? 1.测试任务明确,不会频繁变更 2.回归测试比较多 3.软件系统界面比较稳定,无频繁变更UI 4.大量的重复任务 5.与人工相比自动化能更省资源 6.项目不赶进度 6.测试组多位成员具备开发脚本能力 自动化 阅读全文
posted @ 2019-12-01 17:28 偶然路过的靓仔-胡阳 阅读(580) 评论(0) 推荐(0)

摘要: 1.引用模块 (1)from...import... 如:from selenium import webdriver from time import sleep from...import *(*表示所有) (2)import... 如:import time (表示导入time模块,如同 fr 阅读全文
posted @ 2019-12-01 17:27 偶然路过的靓仔-胡阳 阅读(159) 评论(0) 推荐(0)

摘要: ActionChains()类提供了大部分的鼠标操作,点击,右击,双击,拖动,鼠标悬停等 点击:click() 右击:context_click() 双击:double_click() 拖动:drag_and_drop() 鼠标悬停:move_to_element() 阅读全文
posted @ 2019-12-01 17:26 偶然路过的靓仔-胡阳 阅读(123) 评论(0) 推荐(0)

摘要: 一 input的直接定位到元素.send_keys(文件地址) 阅读全文
posted @ 2019-12-01 17:26 偶然路过的靓仔-胡阳 阅读(84) 评论(0) 推荐(0)

摘要: keys()类提供了大部分的键盘操作,空格,删除,复制,粘贴,回车等; 空格:Kyes.SPACE 删除:Keys.BACK_SPACE 复制:Keys.CONTROL,'c' 粘贴:Keys.CONTROL,'v' 回车:Keys.ENTER 示例代码: 阅读全文
posted @ 2019-12-01 17:25 偶然路过的靓仔-胡阳 阅读(134) 评论(0) 推荐(0)

摘要: 有时候我们进行某个操作的时候会弹出新的窗口,比如豆瓣,点击读书,就会弹出新窗口,百度,点击注册也会弹出新窗口,这个时候我们需要通过句柄去切换窗口,webdriver提供了switch_to.window()方法在不同窗口之间切换 具体操作: 先获得想要操作的窗口的句柄 driver.current_ 阅读全文
posted @ 2019-12-01 17:24 偶然路过的靓仔-胡阳 阅读(185) 评论(0) 推荐(0)

摘要: 弹出警告框,我们用switch_to.alert方法定位到警告框,然后再执行我们想要的操作 获取警告框文本text 接受警告框accept() 解散警告框dismiss() 示例代码: 阅读全文
posted @ 2019-12-01 17:24 偶然路过的靓仔-胡阳 阅读(123) 评论(0) 推荐(0)

摘要: 1.等待使用 2.iframe表单切换 3.多窗口切换 4.警告框处理 5.键盘事件 6.鼠标事件 7.文件上传 8.浏览器操作 阅读全文
posted @ 2019-12-01 17:22 偶然路过的靓仔-胡阳 阅读(108) 评论(0) 推荐(0)

摘要: 1.web应用常用到iframe/frame,这些元素无法定位的情况下,我们需要先定位到表单,再定位元素,通过的方式:switch_to.frame() 跳出表单: 在当前表单操作完成后,跳出表单: switch_to.parent_content() 阅读全文
posted @ 2019-12-01 17:22 偶然路过的靓仔-胡阳 阅读(310) 评论(0) 推荐(0)

摘要: 为什么要使用等待? 现在前端技术已经非常厉害了,还有多种加载的方式方法,可能导致我们的脚本在跑的时候,元素还没有加载出来,就直接报错了,所以我们使用等待技术 等待的实现方式: 1.sleep休眠模式,强制等待 2.WebDriverWait显式等待 3.implicitly_wait隐式等待 1.s 阅读全文
posted @ 2019-12-01 17:21 偶然路过的靓仔-胡阳 阅读(193) 评论(0) 推荐(0)

摘要: 功能步骤: 1.打开百度 2.输入框输入网易云课堂 3.点击百度一下 4.进入网易云课堂 5.关闭浏览器 脚本:#注释的两种用法 #注释当前行 ''' ''' 注释之间的内容 import time from seleniumimport webdriver #打开浏览器 driver=webdri 阅读全文
posted @ 2019-12-01 17:20 偶然路过的靓仔-胡阳 阅读(519) 评论(0) 推荐(0)

摘要: 常用的八大元素定位,比appnium少三个 ①id driver.find_element_by_id() ②name driver.find_element_by_name() ③class driver.find_element_by_class_name()方法通过class属性来定位元素 ④ 阅读全文
posted @ 2019-12-01 17:19 偶然路过的靓仔-胡阳 阅读(203) 评论(0) 推荐(0)

摘要: 1.打开google chrome 或者fire fox浏览器 2.打开百度 3.按F12定位元素 先点击左上角的箭头,再点击需要定位的地方,会自动跳到对应的元素 阅读全文
posted @ 2019-12-01 17:18 偶然路过的靓仔-胡阳 阅读(1648) 评论(0) 推荐(0)

摘要: 1.下载chrome/firefox驱动,对应相应版本的浏览器 把下载的浏览器驱动放在python目录下之后(前提python目录是环境变量path下的,我们之前放的是c盘的根目录) 2.打开pycharm新建项目: file--new project 3.新建python文件,右键工程新建: 4. 阅读全文
posted @ 2019-12-01 17:17 偶然路过的靓仔-胡阳 阅读(320) 评论(0) 推荐(0)

摘要: 关于python版本2.7或者3.7之类的差别不是很大 2.7于2020年停止维护更新 做好一个小测试,怎么光会性能就够了呢?来,我们好好的把代码撸一撸 我们开始一步一步搭环境:(Windows) ①首先会用到jdk,通常用jdk1.8吧,点击安装,默认的位置在C:\Program Files\Ja 阅读全文
posted @ 2019-12-01 17:12 偶然路过的靓仔-胡阳 阅读(208) 评论(0) 推荐(0)

摘要: 首先从软件架构来分为B/S C/S APP 再根据软件架构选择相应的工具 B/S:selenium(java或python语言) C/S:QTP(目前市面上很少用这个工具了) APP:appium 其他的主流工具还有Freamwork等 介绍: QTP是HP公司开发的,自带一个飞机录票系统 Robo 阅读全文
posted @ 2019-12-01 17:09 偶然路过的靓仔-胡阳 阅读(212) 评论(0) 推荐(0)

摘要: 自动化测试分层,不得不提到测试金字塔模型 ui UI自动化 service 接口自动化 unit 单元自动化 什么是传统自动化? 传统自动化是基于产品的UI层面的,也就是我们所说的UI自动化 为什么提倡分层自动化? 如果一个产品从没有做单元测试与接口测试,只做UI层的自动化测试是不科学的,从而很难从 阅读全文
posted @ 2019-12-01 17:09 偶然路过的靓仔-胡阳 阅读(231) 评论(0) 推荐(0)

摘要: 1.需求明确,不会频繁变动(频繁变动,代码工作量大,维护成本大于人工成本) 2.有较多次的回归验证(高可复用性 代码不用复写,有利于回归测试) 3.系统稳定,界面稳定 4.产品周期长(从技术定型,到自动化代码架构,再到代码开发本身就是一个周期过程) 5.项目进度不是非常急 6.测试人员有能力编写自动 阅读全文
posted @ 2019-12-01 17:08 偶然路过的靓仔-胡阳 阅读(151) 评论(0) 推荐(0)

摘要: 一章软件测试的分类 思考一下,对于软件测试的分类大家都知道有哪些分类的? 我们从三个角度来看 第一个从代码可见面来看,分为黑盒、白盒、灰盒 那什么叫做黑盒? 我们来打开xmind看一下 黑盒就是把被测软件看作是一个黑盒子, 我们不去关心盒子里面结构是什么,只关心输入的数据 和输出的结果 比如 你看这 阅读全文
posted @ 2019-12-01 17:07 偶然路过的靓仔-胡阳 阅读(236) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2019-12-01 17:05 偶然路过的靓仔-胡阳 阅读(135) 评论(0) 推荐(0)