![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
测试开发
测试相关
aiee
这个作者很懒,什么都没留下…
展开
-
用变量巧妙替换switch写法
你是不是经常写这样的代码fun(value){name=""switch(value){ case "A": name="AA"; case "B": name= BB}return name}其实这段代码可以这样写fun(value){option={ A:"AA", B:"BB"}returnoption[value]}这么写有什么好处呢?1、逻辑清晰2、方便把option提出了作...原创 2020-06-12 10:59:59 · 851 阅读 · 0 评论 -
js excel导入数据
1、导入方法:function onImportExcel(file) {if (file.target.files[0]) {let reader = new FileReader();reader.onload = function (e) {try {let data = [];let workbook = XLSX.read(e.target.result, { type: 'binary' });const sheetData = workbook.Sheets.S原创 2020-05-26 11:04:45 · 561 阅读 · 0 评论 -
selenium+python 用手机模式打开浏览器
from selenium import webdriver mobile_emulation = {'deviceName': 'iPhone 6'} options = webdriver.ChromeOptions() options.add_experimental_option("mobileEmulation", mobile_emulation)...原创 2018-07-20 10:19:10 · 5956 阅读 · 0 评论 -
selenium 通过文字定位元素
1、全部文字 java:driver.findElement(By.xpath("//*[text()=’退出’]"); python:browser.find_element_by_xpath("//*[text()='花呗套现']").click() 2、部分文字 java:driver.findElement(By.xpath("//a[contai...原创 2018-07-20 10:20:44 · 46707 阅读 · 6 评论 -
selenium+python+appium真机测试
前面说了web测试,app测试是在web基础上加上appium 1、安装Appium-Python-Client pip install Appium-Python-Client pyCharm点击file——setting——project interpreter——+——搜索Appium-Python-Client下载 真机连接 #coding=utf-8 ...原创 2018-07-20 10:22:47 · 1512 阅读 · 0 评论 -
python+appium 混合app处理
1、打开app内webview调试模式app代码里在WebView类中调用静态方法setWebContentsDebuggingEnabled:webView.setWebContentsDebuggingEnabled(true);2、打印出当前手机页面的contextprint driver.contexts如果包含有h5页面的话,一般至少会返回两个元素,一个'NATIVE...原创 2018-07-20 14:21:02 · 1662 阅读 · 0 评论 -
appium定位相同属性的元素
xpath定位列表中空投的立即申请按钮先定位到空投driver.find_element_by_xpath("//android.widget.TextView[contains(@text,'空投')]")用..\返回父级,用索引LinearLayout[2]进入第二个LinearLayout下的第三个LinearLayout,并定位到立即申请按钮driver.fi...原创 2018-07-23 10:44:06 · 5544 阅读 · 1 评论 -
appium几个常见环境问题
一、appium适配Android7.0以上版本appium在androidV7.0系统上运行时报错Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.]原因分析:appium的uiautomator版本与androidV7....原创 2018-07-24 15:45:43 · 625 阅读 · 0 评论 -
appium\selenium+python 滑动屏幕直至某元素出现
appium获取屏幕宽高:width = driver.get_window_size()['width']height = driver.get_window_size()['height']while循环10次i=0while i < 10: try: driver.find_element_by_xpath("path").click()#尝试点...原创 2018-07-24 17:24:40 · 8762 阅读 · 4 评论 -
selenium+python使用JavaScript脚本
调用js方法:execute_script(script,*args)from selenium import webdriver#登录browser.find_element_by_id("username").send_keys("***")browser.find_element_by_id("password").send_keys("***")bro...原创 2018-07-27 13:46:42 · 773 阅读 · 0 评论 -
python+selenium 通过添加cookies或token解决网页上验证码登录问题
cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。下面举个栗子1、先把正常的登录方式码一下:browser = webdriver.Chrome(executable_path='chromedriver.exe')browser.get("https://******")#登...原创 2018-07-27 14:04:06 · 14631 阅读 · 12 评论 -
python文件创建、读取和写入
from selenium import webdriverimport xlrdimport xlwtimport os.pathfilepath = "E:\\test.xls"#文件查询,没有就创建file='test.xls'if os.path.exists(filepath): print("找到文件" + file)else: print("没有文...原创 2018-07-27 17:58:03 · 1515 阅读 · 0 评论 -
selenium+python 操作滚动条
# 移动到元素element对象的“顶端”与当前窗口的“顶部”对齐 driver.execute_script("arguments[0].scrollIntoView();", element); driver.execute_script("arguments[0].scrollIntoView(true);", element); # 移动到元素element对象的“底...原创 2018-08-03 16:38:49 · 1156 阅读 · 0 评论 -
selenium+python 下拉框选择
Select类提供了三种选择某一选项的方法: select_by_index(index) select_by_value(value) select_by_visible_text(text) from selenium import webdriverdfrom selenium.webdriver.support.ui import S...原创 2018-08-03 16:47:53 · 1020 阅读 · 0 评论 -
python+selenium 保存log
1、log类import loggingimport osimport timeclass Logger(object): def __init__(self, logger): """ 指定保存日志的文件路径,日志级别,调用文件 将日志存入到指定的文件中 :param logger: """...原创 2018-08-07 14:59:18 · 1782 阅读 · 0 评论 -
python+selenium 截图保存
import osimport timeclass ScreenShot(object): def screenshot(self): rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) pic_path = os.path.dirname(os.getcwd()) + '/s...原创 2018-08-07 15:01:48 · 954 阅读 · 0 评论 -
python+selenium 连接MySQL数据库
import pymysql as pymysqlclass MySql(object): def mysql(sql): #连接数据库 hostvalue='localhost' uservalue='root' passwordvalue='123456' dbvalue='test' ...原创 2018-08-08 09:59:59 · 2714 阅读 · 0 评论 -
python 数据处理(字符串截取、()\[]\{}数据类型、{}字典数据取值)
1、python的字符串截取str = ‘0123456789’print str[0:5] #截取第一位到第五位的字符print str[:] #截取字符串的全部字符print str[6:] #截取第七个字符到结尾print str[:-3] #截取从头开始到倒数第三个字符之前print str[2] #截取第三个字符print str[-1] #截取倒数第一个字符prin...原创 2018-08-08 12:07:16 · 3416 阅读 · 0 评论 -
jenkins接口、UI自动化持续集成
jenkins接口、UI自动化持续集成jenkins安装1)下载Jenkins官方网站:http://jenkins-ci.org/2)安装Jenkinsnext—>3)运行Jenkins通过浏览器访问:http://localhost:8080/,得到:2、Jenkins配置1、系统配置...原创 2018-08-21 14:54:53 · 7704 阅读 · 1 评论 -
jmeter下载安装及插件安装
jmeter安装前需先安装jdk。jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi下载后直接安装即可,一路next,可以选择安装位置。目前最新版是4.0,说是支持jdk8或者jdk9,但是我用jdk10也可以。现在jmeter4.0也可以安装插件了下载插件管理工具:https://jmeter-p...原创 2018-09-12 15:11:57 · 460 阅读 · 0 评论 -
testng扩展 失败的用例重跑
新建包TestngRetry , implementsIRetryAnalyzer实现重跑功能implements 是实现多个接口,接口的方法一般为空的, 必须重写才能使用import org.testng.IRetryAnalyzer;import org.testng.ITestResult;import org.testng.Reporter;import com....原创 2018-09-28 13:31:27 · 604 阅读 · 0 评论 -
selenium+testng+java testng扩展,监听器中加入用例失败后截图功能
写好截图方法import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.commons.io.FileUtils;import org.apache.log4j.Logger;import org.openqa.selenium.OutputType;i...原创 2018-09-28 13:56:38 · 1883 阅读 · 5 评论 -
javamail 发送邮件
import java.util.Date;import java.util.Properties;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet...原创 2018-09-30 11:49:21 · 11295 阅读 · 0 评论 -
java+appium 连接第三方模拟机(夜神模拟器为例)
首先需要下载安装sdk,并配置环境变量SDK_HOME:E:\android-sdk-windowspath:%SDK_HOME%\platform-tools;%SDK_HOME%\tools启动夜神模拟器,打开控制台,输入adbconnect127.0.0.1:62001这是夜神的端口号,其他模拟器自行百度输入adb devices 查看连接的devices...原创 2018-10-19 10:21:53 · 2713 阅读 · 0 评论 -
jmeter发送cookie,好大一个坑
都知道jmeter发送cookie要添加HTTP Cookie 管理器不用设置任何东西,加在线程组下面,登录后的其他接口都会使用自动记录的cookie为了保证使用的cookie与登录生成的cookie一致,一般会使用手动设置,将cookie值添加到Cookie 管理器这时候要注意,作用域的值与http请求或http默认请求值设置的一样,不然起不了作用...原创 2018-10-24 15:40:15 · 7289 阅读 · 4 评论 -
WEB UI自动化框架设计
1、框架简介1、1 框架设计思想 本框架是由selenium+testng+java+maven编写的数据驱动框架,对于用例的开放设计性比较强,分离了页面元素、页面元素操作、用例和检查点,也就是说,每个页面的元素、操作、检查点单独封装了,之后在用例中用到什么操作都可以调用之前写的。 对于测试数据,是单独保存在excel文件中的,同一个功能有正向和逆向测试,只...原创 2018-11-05 13:30:35 · 8433 阅读 · 1 评论 -
接口自动化框架设计
先说说为什么设计接口自动化框架,框架这种东西一写就停不下来,因为你会发现有了框架之后测试就简单多了,越写越想要完美,简单到一个excel文件就可以跑完所有接口。没错,就一个excel文件,可能我比较懒吧,这样一劳永逸的东西何乐不为。下面简单介绍这个框架:1.框架设计介绍httpautotest使用的是java+testing+maven搭建的数据驱动自动化框架。Testng可用可以不用。这...原创 2018-11-09 16:58:43 · 17324 阅读 · 5 评论 -
httpclient发送http请求
package com.test.http;import java.io.File;import java.io.IOException;import java.util.Map;import java.util.Map.Entry;import org.apache.http.HttpEntity;import org.apache.http.client.config.Requ...原创 2018-11-16 12:52:12 · 250 阅读 · 2 评论 -
jmeter后置处理器保存数据到本地,并通过前置处理器获取数据
jmeter中支持java语音,前置和后置处理器都可以直接使用java,我们就用java来处理这个保存数据和获取数据的场景1、保存数据直接使用java语音实现这个功能,下面是讲jmeter中的变量“token”保存到"E://test.txt"中。FileWriter fwriter = new FileWriter("E://test.txt");fwriter.write(var...原创 2019-05-13 11:04:47 · 1849 阅读 · 0 评论 -
jmeter前置处理器调用java方法,以md5加密为例
jmeter无法实现的功能可以用java写个方法来实现,并通过前置处理器来调用方法1、java编写md5加密方法package md5test;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class getmd5 { public ...原创 2019-05-13 11:44:11 · 1093 阅读 · 0 评论 -
使用flask框架编写简单的mock平台
mock可以模拟api返回,当使用第三方系统不便造数据时可以使用mock模拟返回1、flask框架下载安装Flask的socket是基于Werkzeug 实现的,模板语言依赖jinja2模板,在使用Flask之前需要安装一下;pip install flask2、mock编写from flask import Flask, request, jsonapp =...原创 2019-05-13 16:18:34 · 1674 阅读 · 0 评论 -
接口自动化cookie保持
前面说到发送http请求的方法,这里直接用方法:httprequestfun调取接口注意里面调用的方法都是上一篇文章封装好的方法 public String httprequestfun(Map<String, String> map) { HttpData data=new HttpData(); String resulttext=nu...原创 2018-11-16 13:35:02 · 2481 阅读 · 0 评论