自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第一课 request传参

一、requests请求方式1、requests请求任何方式都会再次调用一次request,所以我们可以直接调用requestrequests.request(get,url=url,params=data)2、get传参和post传参 1、get只能使用params 2、post使用data和json 1)data和json的却别,data传参默认格式a=1&b=2 只能传简单的dict和str json传参默认键值对格式 格式{"","","",""} json.d

2021-09-18 18:40:17 2316

原创 Linux Crontab定时任务发送邮箱

crontab概念crontab命令用于设置周期性被执行的指令。 该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab常用命令crontab [-u username]    //省略用户表表示操作当前用户的crontab -e (编辑crontab工作表) -l (列出正在执行的工作列表) -m (删除工作表) 我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。 crontab的命令构成为 时

2021-08-05 10:50:20 693 1

原创 mac os adb下载

一 adb安装:打开终端,输入命令1.安装homebrew:方式一:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"方式二:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"2.安装adb:brew install android-platform

2021-06-09 16:40:00 1683

原创 airtext使用方法

#进入大师推荐页面#断言促销活动中展示配件促销assert_exists(Template(r"tpl1614506166841.png", record_pos=(0.008, -0.294), resolution=(1080, 2340)), "查看促销配置单")#断言配置单列表为立即抢购assert_exists(Template(r"tpl1614506218797.png", record_pos=(0.322, -0.111), resolution=(1080, 2340)), "

2021-02-28 20:41:24 475

原创 selenium自动化

from time import sleep# 导包from selenium import webdriver# 导入事件包from selenium.webdriver import ActionChains# 显性等待导包from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.w

2020-11-16 10:35:41 113

原创 解决display:none

selenium:解决页面元素display:none的方法在UI自动化测试中,有时候会遇到页面元素无法定位的问题,包括xpath等方法都无法定位,是因为前端元素被设置为不可见导致。这篇博客,介绍下如何通过JavaScript修改页面元素属性来定位的方法。。。1、具体问题常见的页面元素不可见导致的不可定位,都是由于下面的问题:通过查看相关文档,可以看出display:none方法是设置元素不可见,这就是导致为什么通过定位页面元素无法定位的原因。关于display更多的信息,可以看这里:HTML

2020-11-09 17:38:27 3333

原创 Charles连接虚拟机抓包

Charles连接手机抓包写给我自己:如果是使用charles抓包。一定要tm的保证手机和电脑连的是一个网。设置端口号设置443端口过滤在charles上添加手机ip设置手机端口添加本机ip查看本机ip 然后在cherles里会弹出一个弹出框 一定要看好,点击Allow然后用手机打开app,Charles就会访问到你手机浏览的数据了在虚拟机下载证书当你完成手机的wifi委托为charles作为代理后;打开手机上的浏览器访问chls.pro/ss

2020-08-13 16:17:02 1428

原创 Django配置数据库

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'edu', #数据库名 'USER': 'root', #用户名 'PASSWORD': '123', ...

2020-08-13 15:35:01 121

原创 django配置跨域

什么是跨域?跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。为了能够使前端能够访问到Django脚本,我们就需要跨域了。这里主要说明怎么从django跨域。首先我们得先配置一个跨域所需要的包django-cors-header...

2020-08-13 15:34:51 205

原创 F、Q的使用

在这俩个查询中用到的有&、| 这俩个运算符&:顾名思义就是 and(和) 的意思|:顾名思义就是 or(或) 的意思lt:小于lte:小于等于gt:大于gte:大于等于F查询及Q查询综合在这里插入代码片from django.http import HttpResponsefrom django.db.models import F,Qclass ShowGoo...

2020-08-13 15:34:41 1003

原创 VUE中自定义过滤器

在vue中使用过滤器修改某些字段<template> <!--展示数据--> <div>金额:{{ ss | yuan}}</div></template><script> export default { data(){ return{ ...

2020-08-13 15:34:30 142

原创 VUE中将字典转为JSON再从JSON取出来

在vue中与后台交互是需要将数据转为json类型,而字典类型是无法直接交互的。#在vue中将字典转为JSON格式 this.cods是data里面所定义的字典myvalue = JSON.stringify(this.cids)#将JSON格式再转换成字典myvalue = JSON.parse(cids)stringify是进行转为JOSN格式,而parse是将JSON转换回来。...

2020-08-13 15:34:08 1329

原创 python单元测试 unittest

什么是单元测试单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。在不修改模块的前题下进行正确性检验的测试工作。写一个简单的单元测试先定义一个模块实现一个判断功能“”“定义两个方法 一个实现想加 一个实现相见 再另写方法 在不影响此模块的情况下进行验证”“”class Cals(): def add(self, a, b): c = a + b return c def redect(self, a, b): c = a - b return

2020-08-12 11:44:43 220

原创 selenium IDE 自动录制

Selenium也具有录制功能,可以web中回放,录制的脚本可以转换为java、python、ruby、php等多种脚本语言。seleniumIDE是Firefox的一个插件,依附于Firefox,所以需要先安装Firefox浏览器。下面介绍下seleniumIDE的界面。点开seleniumIDE菜单按钮,出现下面界面。1. 启动录制,启动后要输入你要录制的网址2. 当录制完成后,点击进行播放录制的东西3. 测试用例的命名4. 执行过程展示的地方5. 修改脚本或参数的地方生成你们

2020-08-08 16:49:53 376

原创 appium连接安卓真机自动录制

1. 首先手机用usb线连接电脑,打开手机开发者模式,USB需要调制成传输文件。2. 在cmd控制台使用 “adb devices” 测试是否连接成功3. 连接appium 使用appium连接真机设置 appium最好更新最近版本4. 设置连接真机配置{ "platformName": "Android", "platformVersion": "9", "deviceName": "PAR-ALOO-FJH5T18704007014", "appPackage": "c

2020-08-07 18:33:11 368

原创 appium 绘图

使用appium连接模拟器 实现安全锁里边的绘图使手机自动化进入到安全锁绘图里边配置 写死的from appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionfrom time import sleep# 设置手机参数desired_caps = {}desired_caps['platformName'] = 'Android'desired_caps['platfor

2020-08-06 08:56:03 201

原创 Jmeter+ant+jenkin接口自动化发邮件

前置环境 Jmeter + ant +JenkinsJmeter下载Jmeter配置环境变量:JMETER_HOME 为 jemter安装路径PATH为 %JMETER_HOME%\libPATH为%JMETER_HOME%\bin下载说明https://www.cnblogs.com/wxh04/p/7754156.html验证是否成功命令行输入: jmeter -v出现版本号则为成功:JDK下载jdk安装包让自动下载到c盘不要乱按配置环境变量JAVA_HOME :为安装jd

2020-08-05 20:27:45 403

原创 Appium A new session could not be created. (Original error: Requested a new session but one was in p

问题:此错误是会话正在进行,或上次关闭时没有退出会话。解决:重启appium server用例脚本的teardown中增加 driver.quit()driver.quit()退出

2020-08-04 10:51:56 278

原创 Appium手机端测试自动化

下载Appium与node.js配置他们的环境变量安装appnium的服务端 同时进行对环境变量的设置安装appniumd的客户端 pycharm中进行setting中进行安装node.js 并进行环境变量的设置找到自己的sdk中的tools文件下的 uiautomator连接配置设备编号启动appium在python的第三方库下载Appium-Python-Client...

2020-08-01 19:05:48 797

原创 Charles弱网测试

弱网设置然后根据不同网速测试进行各种弱网测试

2020-07-30 10:15:52 126

原创 Charles设置断言、修改请求结果

Charles要调试通且能正常抓取页面打开Charles清空列表访问百度访问后去抓取路由并设置断言设置断点值5. 设置好后把Carles清空再重新刷新页面7. 修改请求查看页面的变化

2020-07-30 09:38:23 568

原创 jmeter连接数据库、压测、多条数据访问数据库

在Test Plan添加jar包创建线程组、JDBC request、JDBC Connection Configuration在JDBC Connection Configuration配置连接数据库内容Database URL:jdbc:mysql://localhost:3306/1908b?allowMultiQueries=trueJDBC Driver class:可选 如下图选择Username:数据库用户名Password:数据库密码在JDBC Reque..

2020-07-29 20:25:14 262

原创 liunx安装comcat

解释 comcat是java开发的一种编辑器 类似于python的pycharm viscode创建 tomcat文件夹下载tomcat包wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.36/bin/apache-tomcat-9.0.36.zip解压当前文件夹(如果没哟unzip 需要下载 yum install unzip) unzip 加 文件包名给他一个权限chmod a+x -R * cd

2020-07-21 20:01:53 170

原创 liunx安装mysql

先创建一个mysql文件夹mkdir mysql下载mysqlzip包wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm解释:wget是一个下载文件的工具,是World,Wide.Web和get的合称,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员经常要下载一些软件或从远程服务器恢复备份到本地服务器如果我们使用虚拟主机,处理这样的事务我们只能先从远程服务器下载到我们电.

2020-07-21 19:44:03 107

原创 liunx安装JDK

先创建一个文件夹mkdir jbk下载jdk包wget --no-check-certificate --no-cookies --header"Cookie:oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpmls 查看是否有这个包添加权.

2020-07-21 19:31:02 100

原创 测试例题

如果遇到不能复现的bug多次尝试争取找到bug进行多种测试环境记录问题,报备问题,并在下一个版本进行测试测试流程根据用户需求进行需求分析,编写需求文档开发根据需求分析进行(编码、后台进行设计数据库、ui设计草图,移动端)编写测试计划和测试用例开发人员编写完成进行冒烟测试依据测试用例进行别的功能测试如果发现bug提交开发,开发进行更改bug,然后进行回归测试进行测试总结,用于下一版本的迭代朋友圈点赞功能测试点赞按钮和取消按钮正常展示点赞好友当点赞人数过多时,是否显示点赞

2020-07-10 19:52:56 229

原创 测试面试题

1、测试什么时候介入,为什么?越早介入越好,最好在需求评审。原因:一个完整的的软件开发的生命周期是由从客户那里获取需求,进行需求分析,最终到一个可用的产品交付给客户结束,尽早的介入,可以根据客户的要求制作测试计划、制定测试实例、测试时间。修改缺陷成本低。原因:跟第一条生生相惜,越早的介入,可以越早的进行测试,越是起步越是简单,修复漏洞是最容的时候,当一个软件接近完善的时候,修改漏洞可以能因为这个修改导致大部分要修改,成本大量的提高。测试人员尽早了解需求,测试时可以避免遗漏测试场景。原

2020-06-28 20:59:00 695

原创 单链表

# 链表定义# 定义节点类class Node(object): # 初始化方法 data值 next指向下一个 def __init__(self, data, next=None): # 赋值 self.data = data self.next = next# 定义链表类class Singlelinklist(object): # 初始化方法 def __...

2019-12-11 17:38:18 168

原创 归并排序

首先归并排序使用了二分法,归根到底的思想还是分而治之。拿到一个长数组,将其不停的分为左边和右边两份,然后以此递归分下去。然后再将她们按照两个有序数组的样子合并起来。这样说起来可能很难理解,于是给出一张我画的图。这里显示了归并排序的第一步,将数组按照middle进行递归拆分,最后分到最细之后再将其使用对两个有序数组进行排序的方法对其进行排序。两个有序数组排序的方法则非常简单,同时对两个数组的第...

2019-12-11 17:03:06 100

原创 如何在字典中取出键和键所对应的值

在做程序时我们很多时候会用到字典类型,但是大多小伙伴会取键所对应的值,但是不知道怎么把键给取出来让自己所使用。disc = {"学习":14,"python":3,"java":7}#定义一个字典#获取键所对应的值print(disc["python"]) #得到的是3#怎么获取键呢#键不能一个一个获取for i in disc: print(i) #拿到的数据就是这些 ...

2019-12-10 10:46:00 8146

原创 获取客户端ip地址防止恶意刷点击

为什么要获取用户ip地址当我们写好一个app,为了防止某些用户为了活跃,刷收藏和点击率,但又为了避免不同用户用同一个机器进行登录,这时我们就需要获取客户端IP地址。 #判断ip地址是否在HTTP_X_FORWARDED_FOR里面 if 'HTTP_X_FORWARDED_FOR' in request.META: ip = request.META.get('HTTP_X_FOR...

2019-12-10 10:27:51 465

原创 将pip设置成国内的源

将pip源设置为国内源的方法需要将pip源设置为国内源,阿里源、豆瓣源、网易源等windows(1)打开文件资源管理器(文件夹地址栏中)(2)地址栏上面输入 %appdata%(3)在这里面新建一个文件夹 pip(4)在pip文件夹里面新建一个文件叫做 pip.ini ,内容写如下即可[global]timeout = 6000index-url = https://mi...

2019-12-09 15:29:39 237

原创 vue中带参数跳转

跳转时要知道跳转到那个页面-> 在index.js里面#带参数转this.$router.push({path:'/newscontent',query:{id:id}})#path跟上面的path一样,后面的query就是我们携带的参数#取出参数var newsid = this.$route.query.id;我们存了一个id,之后又取出来并赋值给newsid。...

2019-11-29 15:43:46 232

转载 localStorage中getItem 和setITem的区别

最近看别人的代码,发现他们在从localStorage里面的时候喜欢用dot来操作,而不是get setItem,记得以前说过这个事。下面再说一次吧。用dot方式来操作( 每次以’hello’=>‘world’,‘zhangsan’=>'lisi’来做为例子 )设值 localStorage.hello = 'world';localStorage.zhangsan = '...

2019-11-29 15:15:29 3373

原创 vue中下拉菜单中使用了for循环获取遍历出来的id

在vue中使用下拉菜单,在下拉菜单中遍历作者,然后想要再获取作者的id无从下手。<div> <select name="" id=""> <option v-for="item in user_list">{{item.name}}</option> </select> </d...

2019-11-28 11:49:24 2825

原创 redis存取

为什么要使用redis?很多小伙伴有一个头疼的问题,前后端交互,数据进行存取都存在一个同源策略,redis完美的避免了这个问题。想要使用redis首先肯定得是要先下载pip install redis安装到自己想要的文件,找到这个文件的地址在终端使用redis-server来启动展示如上图 就证明你启动成功了 就可以往里面存入数据了#首先导包import redis#建立re...

2019-11-25 12:13:49 300

空空如也

空空如也

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

TA关注的人

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