之前一篇博客已经讲述怎样手动使用appium-desktop启动测试机上的app,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app.环境为Windows10 + Python3.7 + appium1.18.0 + Android手机 + 今日头条app + Pycharm 一,连接测试手机,获取测试机及被测APP配置 具体的获取方法请参考APP自动化测试之appium连接真机启动app,配置信息如下: { "plat…
1...........................我有空再补…
仅供学习代码参考 1#python dvwa布尔盲注自动化脚本 2 import requests 3 import string 4 import time 5 INIT_URL="http://127.0.0.1/DVWA-master/DVWA-master/vulnerabilities/sqli_blind/index.php?id=" 6 token={"security":"low","PHPSESSID":&q…
做APP的UI自动化测试时,我们往往会使用真机跑自动化测试脚本,因为这样才是最真实的使用场景.但前期调试脚本的话,可以先使用模拟器,这样相对更加方便. 不推荐使用Android SDK里自带模拟器,太卡. 这里介绍两款我正在用于做自动化测试的模拟器:Genymotion 与 夜神模拟器. 一,Genymotion 1,注册账号 使用Genymotion时需要登录账号,我们需要去Genymotion官网注册账号. 官网地址:https://www.genymotion.com/ 官网首页点击[Si…
用python+appium做appUI自动化测试,系统为Windows.首先是JDK与Android SDK的安装与环境变量的设置. 一,安装JDK,配置JDK环境变量 1,下载jdk jdk8官网下载地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 选择对应的系统下载,我的电脑是Windows64位所以选择红框标注的安装包下载. 官网下载需要创建登录Oracle账号,下面提供一个网盘下…
一,前言 在之前的appium自动化测试示例中,我们都是把构造driver实例对象的数据(即Desired Capabilities)写在业务代码里,如下: # -*- coding:utf-8 -*- # @author: 给你一页白纸 from appium import webdriver desired_caps = { "platformName": "Android", "platformVersion": "10"…
在appium自动化测试脚本运行的过程中,因为网络不稳定.测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待的方法来避免这种情况,增加代码的健壮性. 一,元素等待方法 1,强制等待 import time # 强制等待5s time.sleep(5) 2,隐式等待 implicitly_wait()是由webdriver提供的隐式等待方法,它不是针对某一个元素,而是针对当前session(即当前drive…
requests模块可用来编写请求脚本. 比如,使用requests的post函数可以模拟post请求: resp = requests.post(url, data = content) url即为我们要发送请求的url,data是要提交的数据,一般是json格式的. resp是服务器处理请求之后的返回内容,通过如下方式可以看到它的内容: print resp.text 当传输的内容是json格式的话,通过json.loads(resp.text)可以得到Python中的字典格式. 通过res…
下午下课之后小组成员一起交流了一下实验过程遇到的一些问题,并汇总了下各个项目完成情况 该实验目前(写博客是时间)基本完成,具体情况如下 (1)分析系统需求 .(done) (2)设计测试用例.(done) (3)编写测试脚本.(done) (4)测试运行和记录.(done) 其中作业由于分工不同,还没有完整地整合在一起,预计将于很短时间内完成任务,此次实验基本完成.附小组成员照片一张:…
在web应用中经常会出现frame嵌套的应用,假设页面上有A,B两个frame,其中B在A内,那么定位B中的内容则需要先到A,再到B.switchTo().frame方法可以把当前定位的主题切换到frame里,在frame里实际是嵌套了另外一个页面,而webdriver每次只能在一个页面识别,所以需要用switchTo().frame方法去获取frame中嵌套的页面. 退出 iframe 框架:driver.switch_to_default_content()…