前言 adb安装 1.在app自动化之前,首先手机上有要被测试的app,如何把电脑本地上的app安装到手机上呢?可以在运行自动化代码前,在cmd输入adb指令,把电脑app安装到手机上 adb install [apk在电脑上的绝对路径] 2.也可以用python执行adb命令安装app,代码实现如下: # coding:utf-8 import os # 安装app,为了方便,把app放到当前脚本同一目录 os.system("adb install baidu.apk") appi…
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); overflow: auto; background-color: rgb(40, 44, 52) } .markdown-preview:not([data-use-github-style])>:first-child { margin-top: 0px } .markdown-…
Python实现微信支付(三种方式) 关注公众号"轻松学编程"了解更多. 如果需要python SDk源码,可以加我微信[1257309054] 在文末有二维码. 一.准备环境 1.要有微信公众号,商户平台账号 https://pay.weixin.qq.com/wiki/doc/api/index.html 2.支持的支付方式有 3.备案域名 选择扫码支付,如果使用模式二则不需要域名,只需要可访问的ip地址就行. 4.建一个Django项目. 一.扫码支付 点击"扫码支付&…
Linux 软件安装的三种方式 1.yum ​ 语法格式: ​ yum -y install package.name ​ -y yes # 遇到提示自动输入yes ​ 案例: 安装ifconfig命令 route 命令 ​ 大部分命令属于其他的安装包 ​第一步: 如何知道命令属于哪个软件包 ​ 1) 百度 ​ 2) [root@oldboyedu ~]# yum provides wget ​ Loaded plugins: fastestmirror ​ Loading mirror spe…
在Python中,我们经常会遇到字符串的拼接问题,在这里我总结了三种字符串的拼接方式:     1.使用加号(+)号进行拼接 加号(+)号拼接是我第一次学习Python常用的方法,我们只需要把我们要加的拼接到一起就行了,不是变量的使用单引号或双引号括起来,是变量直接相加就可以,但是我们一定要注意的是,当有数字的时候一定要转化为字符串格式才能够相加,不然会报错. name = input("Please input your name: ")age = input("Pleas…
条件:urls.py文件中配置好url的访问路径.models.py文件中有Business表. 在views.py文件中实现的三种方式: from app01 improt models def business(request): 1. v1=models.Business.objects.all() #对象型 [obj{id,caption,code},obj{id,caption,code}...] 2. v2=models.Business.objects.all().values('…
以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数: 2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容: 3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数: 需要说明的是,logging.basicConfig()也属于第一种方式,它只是对loggers, handlers和formatters的配置函数进行了封装.另外,第二种配置方式…
(前两种安装方式以多国语言包的安装为例) 1.  普通安装:用直接解压的安装方式来实现 解压插件到某个文件夹 将下载的插件文件解压到 Eclipse 的安装目录下 如插件文件为多国语言包: NLpack1-eclipse-SDK-3.1.1a-win32 下载的插件文件大多数书压缩文件,解压后得到包含 eclipse 的文件夹(里面有 plugins 和 features 文件夹), NLpack1-eclipse-SDK-3.1.1a-win32 解压后得到的目录结构为(我假定把插件解压到 F…
第一种方式不会出现函数重名问题,而第二种会.可以用第三种解决问题 方式一: #pythondraw.py import turtle #引用 绘制(海龟)库 turtle.setup(650,350,200,200) #启动窗体,宽650,高350 turtle.penup() #抬起画笔 turtle.fd(-250) #倒退250像素 turtle.pendown() #落下画笔 turtle.pensize(25) #画笔宽度是25像素 turtle.pencolor('purple')…
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr name= 或 adb shell dumpsys window |findstr mCurrent 或 adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed…
原文链接:http://blog.csdn.net/menglei8625/article/details/7494094 目前我使用到的python中执行cmd的方式有三种: 1. 使用os.system("cmd") 这是最简单的一种方法,特点是执行的时候程序会打出cmd在linux上执行的信息.使用前需要import os. os.system("ls") 2. 使用Popen模块产生新的process 现在大部分人都喜欢使用Popen.Popen方法不会打印…
Python 有三种模块导入函数 1. 使用import 导入模块 import modname : 模块是指一个能够交互使用,或者从还有一Python 程序訪问的代码段.仅仅要导入了一个模块,就能够引用它的不论什么公共的函数.类或属性.模块能够通过这样的方法来使用其他模块的功能.用import语句导入模块.就在当前的名称空间(namespace)建立了一个到该模块的引用.这样的引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包括模块的名字.所以不能仅仅使用 funcname,…
Linux学习的路还很远呢,各位码农,新年快乐哈! 1)一种是软件的源代码,您需要自己动手编译它.这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz). 2)另一种是软件的可执行程序,你只要安装它就可以了.这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm. 当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包.只要您理解了以下的思路,这两种形式的安装包也不在话下了. 第一部分:…
1)一种是软件的源代码,您需要自己动手编译它.这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz). 2)另一种是软件的可执行程序,你只要安装它就可以了.这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm. 当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包.只要您理解了以下的思路,这两种形式的安装包也不在话下了. 第一部分:.tar.gz 首先,将安装文件拷贝至你的目录中.例…
本次实验的文件是一个60M的文件,共计392660行内容. 程序一: def one(): start = time.clock() fo = open(file,'r') fc = fo.readlines() num = 0 for l in fc: tup = l.rstrip('\n').rstrip().split('\t') num = num+1 fo.close() end = time.clock() print end-start print num 运行结果:0.81214…
Linux下面安装软件的常见方法: 1.yum 替你下载软件 替你安装 替你解决依赖关系 点外卖 缺少的东西 外卖解决 1).方便 简单2)没有办法深入修改 yum install -y tree 2.rpm 自己下载软件包 自己安装 自己解决依赖 半成品 缺少的东西 自己解决1)安装 解决依赖复杂 rpm -ivh treexxxxxxxxxxx.rpm 3.编译 自己下载软件包 自己安装 自己解决依赖 自己做 按照自己口味 按照需求 1)自定义2)过程复杂 备菜-切菜 炒菜 上菜…
一.利用explorer.exe import os # 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.system("explorer.exe %s" % start_directory) 二.用os.startfile import os start_directory = r'C:\代码\软件包' os.startfile(start_directory) 三.利用subprocess import os import su…
1.字符串之间连接 'aa' 'bb' 可以中间为空格 或者什么都没有. 那么输出都是两者之间紧密相连. 2.字符串+数字 'aa' +90 这样会报错,因为不同类型不能相加, 可以用 'aa',90.这样可以,但是中间会有一个空格 3.%占位符 print '%s,%s'%('tom','jerry') >>> print 'aaa',89 aaa 89 >>> print 'aa'90 SyntaxError: invalid syntax >>>…
功能目标 编写一个可以打印被装饰函数名称.执行时间.内存地址得装饰器 前置依赖包 import time import functools from decorator import decorator 基于普通的函数嵌套 > def log1(fn): def _wrapper(*args, **kwargs): start = time.clock() result = fn(*args, **kwargs) print("%s is invoked with time consume…
def upload(request): return render(request, 'upload.html') def upload_file(request): username = request.POST.get('username') fafafa = request.FILES.get('fafafa') with open(fafafa.name, 'wb') as f: for item in fafafa.chunks(): f.write(item) print(user…
import pandas as pd dood_inf0=pd.read_csv("C:\\Users\\Administrator\\Desktop\\food_info.csv") dood_inf1=pd.read_csv(r"C:\Users\Administrator\Desktop\food_info.csv") dood_inf2=pd.read_csv("C:/Users/Administrator/Desktop/food_info.c…
1.内建函数reversed() li =[1, 2, 3, 4, 5, 6] a = list(reversed(li)) print (a) 注意:reversed()函数返回的是一个迭代器,而不是一个List,所以需要list函数转换一下 2.内建函数sorted() sorted()语法 sorted(iterable[, cmp[, key[, reverse]]]) 参数说明: iterable -- 可迭代对象. cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象…
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了…
前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itools安装.对于没有iPhone真机的小伙伴,想在iOS模拟器上安装app测试可不是那么容易的事情. 一.启动iOS Simulator 1.Xcode>Open Developer Tool>iOS Simulator,打开后在hardware里面选对应的iPhone版本就能启动模拟器了…
简介 在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏.从而达到一种“有图有真相”的效果. 截图方法 方法1 save_screenshot() 该方法直接保存当前屏幕截图到当前脚本所在文件位置. driver.save_screenshot('login.png') 查看方法1源码: 方法2 get_screenshot_as_file(self, filename) 将截图保留到指定文件路径 driver.g…
前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Session 2.打开后看到如下界面,刚开始看到这个界面,我也比较懵. 二.Desired Capabilities…
前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Session 2.打开后看到如下界面,刚开始看到这个界面,我也比较懵. 二.Desired Capabilities 1…
本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版本在UI上有了很大的改变,本篇详细解决如何使用appium1.6定位iOS的app页面元素. 一.Start New Session 1.启动appium后点Start New Sessio…
Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控件 :Usage: driver.contexts 用法 driver.contexts 2. current_context c…
前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以选择:templet和mako 简单来说,本篇实现的目的是用代码去自动生成代码,做到代码自动化 接着上一篇讲:appium+python自动化49-yaml管理定位元素 jinja2简介 1.jinja2官方文档:官方文档 jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一…