08 2021 档案

摘要:import smtplib #需要使用smtplib库,来进行邮箱的连接 from email.mime.text import MIMEText #处理邮件内容的库,email.mime #邮箱属性的配置 mailserver = 'smtp.163.com' #邮箱服务端URL,如果是QQ,就 阅读全文
posted @ 2021-08-30 09:08 东北小酱 阅读(867) 评论(0) 推荐(0)
摘要:一、163邮箱开启SMTP协议 二、获取客户端授权码VLCGYJQYYNWDSRST 三、发送一封简单的邮件(163邮箱发送给别的邮箱) import smtplib #需要使用smtplib库,来进行邮箱的连接 from email.mime.text import MIMEText #处理邮件内 阅读全文
posted @ 2021-08-26 17:02 东北小酱 阅读(369) 评论(0) 推荐(0)
摘要:1.下载BeautifulReport git地址:https://github.com/TesterlifeRaymond/BeautifulReport,并将下载的BeautifulReport整个文件包解压后,放到本地python的/Lib/site-packages/目录下 2、创建执行用例 阅读全文
posted @ 2021-08-25 14:02 东北小酱 阅读(196) 评论(0) 推荐(0)
摘要:testcase.py from rip_dictionary.rip_datacreate.business.createUrl import AAA import unittest import HTMLTestRunner class TestCreat(unittest.TestCase): 阅读全文
posted @ 2021-08-25 11:00 东北小酱 阅读(53) 评论(0) 推荐(0)
摘要:第一步,进入到编辑结构 第二步,新建一个python文件 第三步,选择要执行的python脚本,应用。然后再次运行 阅读全文
posted @ 2021-08-25 10:46 东北小酱 阅读(209) 评论(0) 推荐(0)
摘要:一、安装pymysql pip install pymysql 二、创建db_mysql.py文件 db_mysql.py import pymysql class DbHandle(): def __init__(self, host, port, user, passwd, db): self. 阅读全文
posted @ 2021-08-25 09:44 东北小酱 阅读(129) 评论(0) 推荐(0)
摘要:random_method.pyimport random class randomMethod(): def get_random_name(self): data = ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba123456', 5)) da 阅读全文
posted @ 2021-08-24 17:58 东北小酱 阅读(53) 评论(0) 推荐(0)
摘要:request_method.pyimport requests import json class RequestMethod: def post_main(self, url, data, cookies=None): if cookies != None: res = requests.pos 阅读全文
posted @ 2021-08-24 17:56 东北小酱 阅读(167) 评论(0) 推荐(0)
摘要:一、find_element.pyfrom rip_dictionary.rip_datacreate.base.read_ini import ReadIni from selenium.webdriver.support import expected_conditions as EC from 阅读全文
posted @ 2021-08-24 17:13 东北小酱 阅读(124) 评论(0) 推荐(0)
摘要:一、read_ini.pyimport configparser,os class ReadIni(): def __init__(self,node=None,file_name=None): if file_name == None: file_name = os.path.abspath('. 阅读全文
posted @ 2021-08-24 16:55 东北小酱 阅读(247) 评论(0) 推荐(0)
摘要:1、assert断言 常用的就5种: 1、assertEqual(a,b,[msg='测试失败时打印的信息']):若 a=b,则测试用例通过 2、assertNotEqual(a,b,[msg='测试失败时打印的信息']):若a != b,则测试用例通过 3、assertTrue(x,[msg='测 阅读全文
posted @ 2021-08-24 10:13 东北小酱 阅读(184) 评论(0) 推荐(0)
摘要:1、unittest容器执行用例 Unittest.main()是执行所有的case。 当我不想所有的case都去执行,只想执行其中某条/或某些case的情况下,怎么办呢? 知识点: 1、unittest.TestSuite() 添加unittest测试容器,或者叫测试套件 2、addTest(类名 阅读全文
posted @ 2021-08-24 10:03 东北小酱 阅读(155) 评论(0) 推荐(0)
摘要:1、每条用例的前置和后置条件 知识点: 1、setUp()方法,在每一条用例执行之前运行,也就是每条用例的初始化方法 tearDown()方法,在每一条用例执行之后运行,也就是每条用例的结束方法 2、什么时候用呢? 比如单据审批流的例子:提单人登录 -> 创建并提交单据 -> 退出系统, 财务BP登 阅读全文
posted @ 2021-08-24 09:57 东北小酱 阅读(675) 评论(0) 推荐(0)
摘要:1、unittest简介 python内部自带一个单元测试的模块,unittest。适用于单元测试、接口自动化、web自动化、移动端自动化。 作用:该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试报告。 什么叫单元测试? 单元测试是开发者编写的一小段代码,用 阅读全文
posted @ 2021-08-24 09:49 东北小酱 阅读(253) 评论(0) 推荐(0)
摘要:一、Po模式+数据驱动1、对象库层 base base.py(公共方法,点位元素,点击,获取属性,) get_driver.py(打开浏览器,关闭浏览器)2、操作层 pase init.py(服务器配置地址,登录页面配置信息) page_cal.py(涉及元素,将每个元素操作单独封装成一个操作方法) 阅读全文
posted @ 2021-08-19 20:56 东北小酱 阅读(395) 评论(0) 推荐(0)
摘要:一、安装selenium pip install selenium 二、安装chromedriver 1、查看你的Chrome版本,在浏览器中输入chrome://version/ 2、下载 (chromedriver的版本一定要与Chrome的版本一致) https://npm.taobao.or 阅读全文
posted @ 2021-08-18 13:58 东北小酱 阅读(1532) 评论(0) 推荐(0)
摘要:一、概念 列表:可被用于保存多个互相独立对象的数据集合元组:用于描述一个不可变事物的多个属性 二、区别 1、列表属于可变序列,列表元素可以随时修改或删除;元组属于不可变序列,元组元素不能修改,除非整体重新赋值2、列表可以使用多种方法对元素进行添加、修改、删除;元组没有办法,元组不能对元素进行添加、修 阅读全文
posted @ 2021-08-17 10:52 东北小酱 阅读(735) 评论(0) 推荐(0)
摘要:1、如果id是动态的,定位时那就不要用id定位。用其他方式定位2、还有一种情况就是这个元素一会在页面上方,一会在下方,飘忽不定的动态元素, 那就根据元素属性定位(元素的 tag、name的步伐属性是不会变的,动的只是 class 属性和 styles 属性) 3、xpath中提供了三个非常好的方法来 阅读全文
posted @ 2021-08-16 09:40 东北小酱 阅读(2125) 评论(0) 推荐(0)
摘要:一、消息队列是什么? 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。 举个例子:去饭店吃饭的时候,每个人都拿着自己的号等待叫号取餐。 张三(生产者)把订餐的消 阅读全文
posted @ 2021-08-13 09:57 东北小酱 阅读(336) 评论(0) 推荐(0)
摘要:一、前期准备最理想的状态,就是在需求评审阶段就应该参与,这样可以深入了解系统业务,重要功能的业务逻辑,为性能测试做准备 二、性能评审需求分析1、明确性能测试的范围2、明确性能指标最好是引导产品、需求或者开发出压测目标(分别是单场景、混合场景、稳定性场景的)定性能指标,又分为迭代项目和新项目,迭代项目 阅读全文
posted @ 2021-08-12 10:13 东北小酱 阅读(344) 评论(0) 推荐(0)
摘要:系统:windows10+jmeter5.0 一、简介 大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件; Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台, Jenkins是持续集成工具。将这三者结合起来可以搭建一套Web HTTP接口测试的持续构 建 阅读全文
posted @ 2021-08-11 09:59 东北小酱 阅读(194) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/tianlin151/article/details/116133624 阅读全文
posted @ 2021-08-10 10:49 东北小酱 阅读(25) 评论(0) 推荐(0)
摘要:一、概念: QPS:每秒查询率,是一台服务器每秒能够响应的查询次数,一般是读的服务器,在规定时间内所处理流量多少的衡量标准 (读写分离的架构) TPS:每秒事务数,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。 客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的 阅读全文
posted @ 2021-08-10 10:31 东北小酱 阅读(528) 评论(0) 推荐(0)
摘要:首先这是一个很宽泛的问题,一千个人心中有一千个哈姆雷特,没有统一的标准。但是从管理角度来说,万变不离三个方面,要把焦点集中在,人,业务,技术。 1、技术:要去多了解、多学习新技术。有助于自己帮助成员把技术用到工作当中去,同时也能提高团队成员对自己的认可。2、业务:要快速去熟悉公司现有的业务,在功能测 阅读全文
posted @ 2021-08-09 16:02 东北小酱 阅读(974) 评论(0) 推荐(0)
摘要:隐式等待:是设置的全局等待,可以理解成在规定的时间范围内,浏览器在不停的刷新页面,直到找到相关元素或者时间结束。 分为 1、页面加载超时等待 ; 2、页面元素加载超时; 3、异步脚本超时。 如果是页面元素超时,设置等待时间,是对页面中的所有元素设置加载时间。 显式等待:只是用于特定搜索的一个计时器。 阅读全文
posted @ 2021-08-08 22:25 东北小酱 阅读(248) 评论(0) 推荐(0)
摘要:1、网络加载慢,页面元素没出来2、页面元素每请求一次,id会一直变化,用id找元素,找不到3、页面元素属性是hidden,得用js把它显示出来,然后才能操作4、页面元素在frame里面,得swichto进去,才能拿到5、页面元素在alert警告框6、页面元素不在当前的active window,要切 阅读全文
posted @ 2021-08-08 22:10 东北小酱 阅读(295) 评论(0) 推荐(0)
摘要:1、集合点:就是模拟并发的概念,在需要压力的地方设置集合点,所有的虚拟用户都相互之间等一等,然后一起访问。 2、设置路径:添加-定时器-Synchronizing timer,如图 3、各项参数含义如下: 1)Number of Simulated Users to Group by:每次释放的线程 阅读全文
posted @ 2021-08-06 11:32 东北小酱 阅读(884) 评论(0) 推荐(0)
摘要:第一种:下个接口请求参数依赖上个接口的返回数据 答:1、不同的接口封装成不同的函数或方法 2、需要的数据 return 出来 3、用一个中间变量 a 去接受 4、后面的接口传 a 就可以了 第二种:依赖于登录的接口如何处理 答:1、登录接口依赖 token 的,可以先登录后,token 存到一个 y 阅读全文
posted @ 2021-08-06 09:29 东北小酱 阅读(555) 评论(0) 推荐(0)
摘要:1.对于账号密码,这种管全局的参数,可以用命令行参数,单独抽出来,写的配 置文件里(如 ini) 2.对于一些一次性消耗的数据,比如注册,每次注册不一样的数,可以用随机函 数生成 3.对于一个接口有多组测试的参数,可以参数化,数据放 yaml,text,json,excel 都可以 4.对于可以反复 阅读全文
posted @ 2021-08-05 10:19 东北小酱 阅读(569) 评论(0) 推荐(0)
摘要:面试当中如果有类似这种问题,可以用推导式来回答: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种推导:列表(list)推导式、字典(dict)推导式、集合(set)推导式 1、列表推导式: 平方:i 阅读全文
posted @ 2021-08-04 09:18 东北小酱 阅读(108) 评论(0) 推荐(0)
摘要:目前Appium框架可以时支持android 和 ios 两个操作系统的App自动化测试 一、appium-Android工作流 在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试 具体的步骤 阅读全文
posted @ 2021-08-03 15:10 东北小酱 阅读(690) 评论(0) 推荐(1)
摘要:一、Selenium1.x时期主要使用Selenium RC(Selenium Remote Control)进来自动化测试。 1、Selenium RC分为: (1)Selenium Server 负责控制浏览器行为 (2)Client Libraries 写测试用例时用来控制Selenium S 阅读全文
posted @ 2021-08-03 13:54 东北小酱 阅读(392) 评论(0) 推荐(0)
摘要:八大定位元素: #HTML例子: < input type = "text"class ="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" > driver.find_element_by_id("kw") 根据id定位(较常用 阅读全文
posted @ 2021-08-02 17:57 东北小酱 阅读(1086) 评论(0) 推荐(0)
摘要:找出所有以.py结尾的后缀名 import os def get_files(path,rule=".py"): all = [] #fpathe 表示当前正在访问的文件夹路径f #dirs 表示该文件夹下的子目录名 #fs 表示该文件夹下的文件 for fpathe,dirs,fs in os.w 阅读全文
posted @ 2021-08-02 10:41 东北小酱 阅读(89) 评论(0) 推荐(0)
摘要:冒泡排序原理: 比较相邻的两个元素,如果顺序有误则把他们交换位置。直到最后一个是最大的。就像气泡一样,小的向上浮。 list1 = [20,15,88,97,76,13,27,49] def bubble_sort(list1): count = len(list1) for i in range( 阅读全文
posted @ 2021-08-02 09:16 东北小酱 阅读(230) 评论(0) 推荐(0)