自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 APP UI测试

一、UI测试1)测试用户界面(如菜单、对话框、窗口和其他控件)布局、风格是否满足要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。2)UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。1.导航测试1)按钮、对话框、列表和窗口等;或在不同的连接页面之间需要导航。2...

2020-03-02 08:11:38 752

原创 python+robotframework 实战微服务车辆管理接口之自动化测试

2020年3月2日早7点记:研究这些自动化也有一段时间,今天给大家整理下我的工作思路,并附上实战代码,希望能帮助到有需要的人,同时自己也完成总结,实现知识的自我升华.持续更新中…………敬请期待...

2020-03-02 07:03:39 380

原创 python 中global和nonlocal 的区别

第一,两者的功能不同。global关键字修饰变量后标识该变量是全局变量,对该变量进行修改就是修改全局变量,而nonlocal关键字修饰变量后标识该变量是上一级函数中的局部变量,如果上一级函数中不存在该局部变量,nonlocal位置会发生错误(最上层的函数使用nonlocal修饰变量必定会报错)。第二,两者使用的范围不同。global关键字可以用在任何地方,包括最上层函数中和嵌套函数中,即使之前未...

2019-12-10 22:30:09 297

原创 python面向对象知识点整理

1.python中一切皆是对象2.类的私有属性 类的方法和变量如果使用单个下划线代表此类个他的子类可以访问,如果是两个下划线代表只有本类可以访问,子类也 不可以哦,不过可以通过@property 进行包装,使用@getter 和 @setter 来处理 私有变量class Person(object): def __init__(self,name,age): sel...

2019-12-08 23:04:12 241

原创 python 面向对象类 中 命名时下划线的使用

1.以单下划线开头,表示这是一个保护成员,只有类对象和子类对象自己能访问到这些变量。以单下划线开头的变量和函数被默认是内部函数,使用from module import *时不会被获取,但是使用import module可以获取。2.双下划线开头,表示为私有成员,只允许类本身访问,子类也不行。3.双下划线开头,双下划线结尾。一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲...

2019-12-07 00:28:32 812

原创 python的面向对象-@property 装饰器私有属性的外部处理

@property 装饰器之前我能逃命过python 属性的权限问题,虽然我不建议将属性设为私有,而是通过单个下划线来属性是受保护的,不建议外界直接访问,其实我们是可以通过@getter(访问器) 和@setter (修改器)来完成像相应的操作,如果要做到这点可以考虑使用property 装饰器来包装getter 和setter 使得对属性的访问更安全,更方便。请看下面代码在这里插入代码片...

2019-12-07 00:23:49 236

原创 encode()和decode() 的区别

encode()和decode()decode英文意思是 解码,encode英文原意 编码字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码, 即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.d...

2019-12-05 22:37:45 1614

原创 python+socket实现简单的文件 上传+下载

客户端代码import os ,socketdef past_file(sk_obj,path): #获取文件大小 file_size=os.stat(path).st_size print(file_size) #发送文件大小 sk_obj.sendall(bytes(str(file_size),encoding='utf8')) sk_o...

2019-11-29 08:42:45 589

原创 python装饰器简述

1.我们首先来了解下python 作用域python作用域是一个容易掉坑的地方,Python 的作用域一共有 4 中,分别是:1.L 局部作用域2. E闭包函数,外的函数中3. G 全局作用域4. B 内建作用域以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找注意:pyth...

2019-11-24 23:05:01 120

原创 ## Appium报错总结:

**Appium :**1.selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot read property ‘toLowerCase’ of undefi...

2019-11-24 22:29:38 398

原创 python 之 外部程序的调用

os.system(command)1.python常用的外部程序调用方法之os.system(command) 相当于在 shell 中执行 command 指令 ,简单来说 ,在 只要字符串可以在 l shell 中运行 , 就可,以将其作为 os.system 在 的参数,在 Python 文件中执行系统命令。参照下面代码import osdef foo1(command): ...

2019-11-24 09:32:03 1278 1

原创 python多线程并发的优缺点之解决方案(线程锁)

首先我们来简述一下并发的优缺点并发的优点:要把100M 数据写入磁盘,CPU 计算的时间只需要0.01s,可是磁盘接受这100M 数据却需要10s,怎么办呢?有两种办法1、第一种办法是 CPU 等着,也就是程序暂停执行后续代码,直到磁盘写入数据完成再继续往下执行import threadingimport timestart_time=time.time()def foo(str...

2019-11-23 22:02:57 3044

原创 python进阶之多线程第一篇

1.并发与并行的区别并发和并行是两个非常容易混淆的概念,他们都可以表示两个活多个任务一起执行,但是偏重点不一样,并发偏重与多个任务交替执行,而多个任务之间还可以是串行的,并发是逻辑上的同时发生,而并不是物理上的同时发生,然而并行的偏重点点在于同时执行。**并发 (concurrency):**指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果...

2019-11-23 14:51:14 122

原创 python中 utf-8 和GBK 的关系

unicode其实是一种在操作过程中存在的字符状态,一般来讲,例如python中的str都是以“unicode”编码,在进行操作时会具化成为“utf-8”与“gbk”,往往是前者居多。如上图所示,在python中不同编码的转换都要经过Unicode,不论是UTF-8或者是GBK,整个过程都是先通过编码decode转换为Unicode告诉Unicode当前的编码格式是什么、然后再通过解码enco...

2019-10-20 13:33:23 3115

原创 python复习之 读写文件的那些事

1.读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。2.要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:如 f = open('/Users/michael/test.txt', 'r') r是读的意思 可以用w写来替换。files需要带上文件的路径哦,如 files=r'G:/test/file1.txt'3....

2019-10-17 21:54:23 132

原创 python 错误码总结

1.selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Cannot read property ‘toLowerCase’ of undefined很坑这个报错是因为 ...

2019-06-08 09:21:50 916

原创 Appium如何查看包的实际名字

可以使用 aapt.exe dump badging + 应用名称这个工具查看包的名字, 找到包的路径下输入appActivity 用来指定 活动的页面 从哪个页面进去 通常入口 只有一个,但是 也有启动的很多的入口还是使用上面的命令 ,看参数lauchable - activitylaunchable-activity: name=‘io.toutiao.android.ui...

2019-06-02 22:53:01 268

原创 Appium安装环境

Appium 作业 1根据课堂视频,安装搭建Appium运行环境,并运行示例代码安装Appium Python Client 包安装Appium Python Client 包的命令pip install Appium-Python-Client安装 Appium Server下载安装Appium Desktop的安装包, 下载地址 https://github.com/appium/...

2019-06-02 14:31:52 226 1

原创 python复习三之对象

知识点汇总:1- 对象的方法:这个对象类型在标准库里面就有的方法2- 对象的方法调用对象.方法3- 字符串—str1-count 计算字符串中包含的多少个指定的子字符串str1 = ‘abcaaa’ ----str1.count(‘a’) - 结果 42-endswith 检查字符串是否以指定的字符串结尾 --返回值 bool3-startswith 检查字符串是否以...

2019-05-31 23:03:59 99

原创 python复习三之函数

知识点汇总:1-函数的概念:1-就是一段代码2-一段操作流程优点:1- 代码量少-简洁2- 维护起来方便—在函数的定义进行修改2-函数的定义:1-def 函数名():函数内容2- 函数的定义是不会执行函数内容的代码的!3-案例:def func():print(‘step1’)print(‘step2’)4- type(func) ----<class ‘fu...

2019-05-31 23:02:53 2511

原创 python数据类型 元祖

元组:1-元组跟我们大家熟悉的数组是一样的吗???1-数组:同一类型2-元组:任意类型特性:1-元组也是一种Sequence 类型2-下标3-能切片4-可以存储任何类型的数据,每个元素是任意类型5-内容不可以改变!!!2-元组的定义:1- 空元组 ()—type(())----<class ‘tuple’>2-一个元素的元组 tu1 = (1,)3-元组的使用...

2019-05-31 23:01:25 179

原创 python复习二之列表知识点汇总:

知识点汇总:1-列表—List特性:1-列表也是一种Sequence 类型2-下标3-能切片4-可以存储任何类型的数据,每个元素是任意类型5-内容可以改变:增删改查1-值 alist[0] = 92-个数 alist.append(5)—增加后面—追加1-列表的定义: 1- []---英文的中括号 2-type([])---- <class 'li...

2019-05-31 22:59:55 118

原创 python复习第二节之字符串

1.字符串的定义方式有三种 分别为单引号,双引号,三引号 ,注意不能混用,三引号可以做多行注释如果字符串本身有单引号双引号 ,三引号可以\进行转义2.字符串的拼接可以使用+ , 多个相同的字符串相连可以使用*n3.字符串的特殊sequence(序列)1.可以通过下标查找2.可以进行切片3.空字符串 str=’’4.字符串的下标从0到多,最长为 字符串长度-15.从右边数有负的...

2019-05-31 22:57:28 161

原创 pyhon复习第一节

1.python语言特性:a. python属于解释型语言,不需要编译,一遍翻译一遍执行b. python语言严格区分大小写c. python 首行需要顶头写,不可以有空格,但是允许有空行2.python 中的数据类型a. 整型只有int 没有longb. 浮点型只有float ,没有doublec. python 中一切数据皆是对象d. 字符串e. 列表c. 元祖...

2019-05-30 21:38:12 137

原创 python中的使用技巧 json库

1.json 库中的 dumps(),可以将python 的数据对象转换成json 格式的字符串2.loads(),可以将python 的json格式的字符串 转换成 python 的数据对象3.id在python 中是有内置函数的所以尽量不要单独使用删除数据注意数据的依赖性如果有的数据不能删除在自动化时候如何操作,如果不能删除只能操作数据库json 和 BuiltIn () 为什么一...

2019-05-25 00:01:02 226

原创 robotframework 项目总结

1.不能依赖项测试用例里面的环境因此每个用例执行完毕后都要还原环境2可以依赖条件文件或目录文件的环境可以将测试步骤封装成python函数 测试用例封装成类 这样可以方便使用robotframework语法 尴尬,而且这些类可以和rf 位置定的的测试条件放在一起这样找起来会Library 先找当前套件的目录的可以写成case/tcoo1.py如果用用点的话case.tcoo1 python ...

2019-05-23 20:34:09 318

原创 python语法 与robotframework结合的情况

在自定义关键字的时候需要使用robotframework 的语法而不是pythonrobot framework中 字典的需要&{a}[b]注意不key 不需要使用引号 大括号和&不能少should be true 需要使用python 语法...

2019-05-21 23:27:40 612

转载 selemnium中select输入框的选择

首先要导入模块from selenium.webdriver.support.select import selectele=…select(ele).select_by_index(n) 选择第N 个元素从0开始select(ele).select_by_value() 根据value 值进行选择select(ele).select_by-visible_text() ...

2019-05-17 00:32:13 547

原创 robotframework中项目目录和执行参数

手工测试的用例自动化自动化的目录结构测试套件文件,目录RF资源文件测试库变量文件pylib python 的测试库rflib 用来存放用户关键字tc就是放testcase老师管理用例执行的参数robot [options] data_sourcesoptions 可以省略robot --name Example path/to/tests/pattern_*.robot...

2019-05-15 21:01:18 1612

原创 selenium随心笔记

exit for loop if +python表达式 (注意变量)如果满足表达式 退出循环等价于 run keyword if +python表达式 +exit for loop取出列表对象的第一个元素 @{list}【0】当只执行一次的时候可以把步骤 放在初始化里面如打开浏览器如果每个用例都要打开浏览器可以放在suite setup 套件里面可以把等待python搜索...

2019-05-14 22:15:44 148

原创 robotframework中的用户关键字封装

使用keywords表关键字顶头写 关键字可以使用惨 [arguments] ${a} ${b}关键字还可以有返回值 使用 [return]rebotframework中的常用库collections还有内置库intellit

2019-05-12 22:39:02 1194

原创 run keywords 关键字

run keywords 执行的多个关键字 可以使用and 联系 起来

2019-05-10 23:48:44 2432

原创 robotframework初始化和清除

1.setup 是测试一个用例(或套件)前面要做的事情2.teardown 是清除操作在robotframework 中每个测试用例测试套件的目录,文件都是有需要初始化或者所有的setup 和 teardown 操作手只有能由一个关键字语句构成当初始化关键字过多建议使用 run keywords[documentation]相当于注释会被打印出来的加::测试套件的初始化和清除 就是在**...

2019-05-10 23:45:12 1355

转载 robotframewor 中的条件判断

1.条件判断RF里面除了循环以外,另一个流程控制的基本功能就是条件判断RF中通常用Run keyword if 关键字来达到类python 中 if …else …条件判断的功能Run Keywords if condition ,name ,*argscondition 是python 中的表达式name 是一个关键字 就是满足上面条件要执行的关键字,args 就是关键字的参数R...

2019-05-10 07:41:06 3475

原创 python中 参数使用一个* 和使用**两个型号的区别

1.一个星号表示列表2.两个星号表示字典

2019-05-09 00:11:50 982

转载 人生苦短我学python python 中 os 与sys 的区别

os 负责和系统进行交互,提供访问操作系统的底层接口sys 负责与解释器交互的函数 负责 程序与python 交互提供各种变量和函数 用于操控python 的运行环境...

2019-05-08 23:40:10 137

原创 robotframework 中的关键字的使用

RF的能力是由关键字提供的,所以,我们对RF的常用关键字有个了解,这样才能把RF用好最常见的关键字就在RF的标准库中Standard libraries如果想把数字变成整数赋值给 变量 需要2只用shouldbetruepython怎么写rb就怎么写但是就是变量前面需要加{2}只用should be true python 怎么写 rb 就怎么写 但是就是变量前面需要加2只用should...

2019-05-08 23:33:07 1215

原创 乱糟糟整理

IntroductionexamplesLibraries 库文件DocumentationDocumentationsupport 支持库rpaFoundationshoprobocon 旧试的,过去试的usersstandard 标准库最常用的关键字在builtin中introduction 简介automatically and thus可变参数,可变关键...

2019-05-08 21:38:18 135

原创 robotframework复习第一课 安装

斜体样式安装rotbotfram在这里插入代码片ework1.pip install robotframework2.pip install robotframework-seleniumlibrary3.在pycharm中安装 intellibot 和intellibot@seleniumLibrary patched 这两个插件使用这两个插件,关键字可以高亮显示robotframe基...

2019-05-06 22:11:10 450

转载 selenium浏览器操作之 浏览器的滑动,

1.当浏览器展现的页面太小时候我们可以通过driver.executed_script(’ window.scollby(0,200)’) , window.scollby()是js脚本语言如果不知道浏览器放到多大的时候可以使用for循环for one in range(10):driver.window_script(‘window_scrollby(0,200)’)if l...

2019-05-03 22:12:34 1162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除