有段时间没有使用python编写测试用例了,很长时间以来,感觉appium这个测试工具确实不错,今天又重新拿起来,分享一下自己学习的一些用例,欢迎大家一起交流、学习!1.登录客户端#coding=utf-8import osimport unittestfrom appium import webdriverimport timefrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions a...
# coding:utf-8import requestsimport refrom bs4 import BeautifulSoup# s = requests.session() # 全局的sdef get_token(s): ‘‘‘ fuction: 获取token args: s 参数 -》s = requests.session() :return anti_token ->{‘X-Anit-Forge-Token‘: ‘xx‘, ‘X-Anit-Forge-Code‘: ‘38515842‘} ‘‘‘ # 局部的s没定义,从外部传入s url = ‘https://passport.lagou.com/login/login.html‘ h1 = { ...
cat account.txt ——用户密码名册jack pass1marry pass2natasha pass3touch lock.txt ——用户锁文件cat login.py#!/usr/bin/env pythonimport tab#put account.txt infomationf = file(‘account.txt‘)account_list = f.readlines()f.close()f = file(‘lock.txt‘)lock_list = []for i in f.readlines(): line = i.strip() lock_list.append(line)f.close()for i in range(3): userlogin ...
1.1 接口基础知识 1.1.1 Get&post请求GET和POST请求: GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST请求是把提交的数据放在HTTP包的Body中. get请求可以用浏览器来发送,直接输入URL,post请求需借助工具来发送。 GET请求和POST请求的区别:GET使用URL或Cookie传参。而POST将数据放在BODY中。也就是说get请求没有请求体,只有请求头...
发送方代码import json import time import traceback from kafka import KafkaProducer from kafka.errors import kafka_errorsif__name__ == ‘__main__‘:producer = KafkaProducer(bootstrap_servers=[‘192.168.32.10:9092‘],key_serializer=lambda k: json.dumps(k).encode(),value_serializer=lambda v: json.dumps(v).encode())# 发送三条消息for i in range(0, 3):time.sleep(2)data = {"filePath": "filePath","dataNam...
assertEqual 如果两个值相等,则passassertNotEqual 如果两个值不相等,则passassertTrue 判断bool值为True,则passassertFalse 判断bool值为False,则passassertIsNone 不存在,则passassertIsNotNone 存在,则pass def fibo(x):if x == 0:resp = 0elif x == 1:resp = 1else:return fibo(x-1) + fibo(x-2)return resp assert fibo(5) == 5assertAlmostEqual(a, b) round(a-b, 7) == 0 assertNotAlmostE...
本章节主要是封装selenium库的一些基础操作方法,如:打开网页、定位元素、截图等,这里是最基本最底层操作浏览器的方法,详情如下:一、basePage.py# _*_ coding:utf-8 _*_import time,os from selenium.webdriver.support.ui import WebDriverWait #导入显示等待等待from selenium.webdriver.support import expected_conditions as EC #导入判断方法from Public import getPathInfo,loglog_info =log.logger ...
研究了一段时间的Appium android app的自动化测试,工作中需要连接多台手机终端同时执行测试用例,我实现的方式是获取用例中需要执行用例的设备id个数以及实际连接到的设备数(通过adb devices获取),然后启动相应数量的Appium 服务,以便每个设备执行时并发进行并且互不影响。当然也可以通过selenium grid来实现,只是目前还在学习研究中,还是先把目前启动多个appium服务实现的方式记录下来。一、Windows下启动单个appium服务需...
今天专门把python的字典各种方法对比测试了一下性能效果. 测试代码如下: 1def dict_traverse():2from time import clock3 my_dict = {‘name‘: ‘Jim‘, ‘age‘: ‘20‘, ‘height‘: ‘180cm‘, ‘weight‘: ‘60kg‘}4 5 t_start = clock()6for key in my_dict: # 性能最差写法.无优化 7print‘Type01.01: %s --- %s‘ % (key, my_dict[key])8 t1 = clock()910for key in my_dict: # 性能较上优,可见get()方...
前置准备 # 获取最新的软件包 apt-get update# 升级已安装的软件包 apt-get upgrade# 提前安装,以便接下来的配置操作 apt-get -y install gcc automake autoconf libtool make apt-get -y install make* apt-get -y install zlib* apt-get -y install openssl libssl-dev apt-get install sudo 安装 Python 环境下载 pythoncd /usr/local/src wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz tar -zxvf Python-3...
1、设备对象引入uiautomator,获取设备对象<所谓设备对象可理解为:Android模拟器或者真机>语法:from uiautomator import device as dd 即为设备对象1.1、获取设备信息语法:d.info返回值:{ u‘displayRotation‘: 0,u‘displaySizeDpY‘: 640,u‘displaySizeDpX‘: 360,u‘currentPackageName‘: u‘com.android.launcher‘,u‘productName‘: u‘takju‘,u‘displayWidth‘: 720,u‘sdkInt‘: 18,u‘displayHeight‘: 1184,u‘...
记录下自己开发的接口自动化测试平台: 接口测试相对于UI测试来说测试成本低,相对稳定,变动不大,日常测试可使用postman、jmeter、python request等进行测试。 以下就介绍python request开发的框架来进行接口测试。功能满足批量测试,支持Excel导入数据库,自定义选中测试接口,图表测试统计等功能。 后端语言采用python的django来开发,之前没接触过django,本想用java web来做后台的,但还是想尝试下,所以便有了这个...
id、class都是web元素的属性,因为他们是很常用的属性,所以css选择器专门提供了根据id、class选择的语法。那么其他的属性呢?比如:<a href="https://www.baidu.com"> 百度</a> 根据href选择,也可以使用css选择器 css选择器支持通过任何属性来选择元素,语法是用一个方括号[ ]比如:要选择上面的 a元素,可以使用 [ href = "https://www.baidu.com" ] 即选择属性href值为 https://www.baidu.com 的元素当然,前面可以加上css表达...
#coding=utf-8from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionimport unittest,timeimport requests#登录模块函数def login(): u‘‘‘gdtmpd登录‘‘‘ driver=webdriver.Chrome() driver.get(‘登录地址url‘) nowhandle=driver.current_window_handle print "nowhandle:%s"%nowhandle driver.implicitly_wait(30) driver.find_element_by_link_text(u‘QQ登...
什么是单元测试?单元测试是负责对最小的软件设计单元(模块)进行验证。python语言下有很多单元测试框架,例如unittest、pytest、doctest等,其中unittest为python语言中自带的单元测试框架。 下面给出一个比较简单的unittest单元测试脚本 1import unittest # 导入unittest模块 2 3 4class TestCount(unittest.TestCase): # 定义测试类子类,继承父类unittest.TestCase中所有的方法 5 6def setUp(self): # setUp()...