- 博客(39)
- 收藏
- 关注
原创 jenkins传参给robotframework
在做自动化的时候,需要使用jenkins传参给rf,rf根据传来的变量运行,在将变量传递给py脚本文件。
2023-11-21 10:09:33
667
原创 robotframework调用python写的方法
在你python解释器的安装目录下。lib/site-packages下,定义一个文件夹内容如下将定义好的方法,放入MyTest.py。init.py文件也别忘了创建。
2023-07-09 22:20:50
1317
原创 python实现验证码识别
大家在做自动化的过程中,应该遇到过登录,需要输入验证码的场景,一般的话,解决方案就是,需要后台的开发同学提供万能验证码,这样每次都麻烦开发也不是很好,所以,还是自己搞一下把!
2023-07-09 22:19:32
3082
原创 Kotlin快速入门
kotlin 完全兼容 java,可以和java互相调用,2017年谷歌正式将其作为android开发的第一语言。kotlin编译后产生与java编译后相同的class字节码文件。可以看出kotlin与java的区别,结尾不需要;kotlin 定义变量 使用val,var。val 可以看做java中的final不可修改。kotlin与其他高级语言一样,可以类型推导。for循环kotlin中舍弃了for-i的操作,采用for-inuntil ,数学中为[0,10)downto ,降序 数学中为
2022-07-13 14:48:24
512
原创 python 使用pandas 读写excel文件
现在本地创建一个excel表,以及两个sheet,具体数据如下:sheet1: sheet2:pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)io:excel文件路径。sheet_name:返回指定的sheet。header:表头,默认值为0。也可以指定多行。当header取值为None时候data打印值最多,0相比None会少一行,1对比0又会在少一行。也就是说设置header为多
2022-06-28 17:14:38
24632
原创 appium自动化-初始化以及定位
desired_caps = { "platformName": "Android", "platformVersion": "", "deviceName": "android not need write", "appPackage": "", "appActivity": "", "noReset": True}
2022-06-07 20:53:54
332
原创 python正则表达式
import refrom demo.config.Constants import Contextstr = "12esd4qwd3456789try5@#$"# parrent= r"\w"# res = re.findall(parrent, str)# print(res)# parrent= r"\d"# res = re.findall(parrent, str)# print(res)# parrent= "."# res = re.findall(parrent.
2022-06-05 21:49:21
90
原创 django-连接mysql数据库-进行增删改查操作
首先确保你有一个可以用于连接的数据库。这里是用本地的数据库演示。先去项目的settings.py文件里面找到databases将其注释掉(默认是的sqlite3)。DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'autodb', 'USER': 'root', 'PASSWORD': '123456',
2022-01-17 15:31:29
2314
原创 Django-登录demo
本demo的登陆逻辑:如果账号密码正确,跳转至百度页面,账号密码错误,提示登录失败。正确的 账号:admin 密码:1231.views下添加一个login方法2.urls中去绑定一下:3.创建一个login.xml:运行一下:...
2022-01-17 14:35:53
525
原创 python windows虚拟环境搭建
用一个django项目做例子。打开终端,找到django项目所在的文件夹创建虚拟环境:python -m venv 虚拟文件夹名激活虚拟环境:activate有啥想装的直接pip就行.使用deactivate结束虚拟环境
2022-01-17 09:49:44
460
原创 Django-绑定视图views传数据给html
app模块的views里面添加 一个函数返回renderapp模块下添加一个templates文件夹,在添加一个xml文件加载静态文件的方式,需要在html的最上面添加{%load static%},引用的时候{%static'img/xxx.png'%}、{%static'css/xxx.css'%}、{%static'js/xx.js'%}如果想要通过views里面的函数给html页面传数据,添加第三个参数为字典类型,然后html页面通过{{key}}来接受参数例如:.
2022-01-14 16:01:58
589
原创 Django-使用pycharm或命令行创建一个demo
使用pycharm 进行Django的开发,默认已经配置好了python解释器等一系列相关的python开发环境。可使用cmd 进行检查 python,pip新建一个Django项目,这里没使用虚拟环境create生成项目,默认的目录结构如下:经常会操作的类是这四个。先去views.py中添加一个函数:在去url中进行绑定:运行即可。然后就可以直接去浏览器进行访问了,http://127.0.0.1:8000/home/完成。问题...
2022-01-13 10:41:02
481
原创 appium - 常用操作
from appium.webdriver.common.touch_action import TouchActionfrom appium.webdriver.common.multi_action import MultiAction#TouchAction 滑动touchAction = TouchAction()touchAction的属性:press 按下 move_to移动到 release 抬起perform执行#MultiAction 多点触控add添...
2022-01-05 20:28:24
7258
原创 selenium-select下拉框,js操作
select操作:from selenium.webdriver.support.select import Selectselect = Select()select.select_by_index(传入一个webelement的值) #就是一个find_element(By.xx,"")的返回值select.select_by_value()select.select_by_visible_text()js:滑动到对应的元素位置ele = driver.find_element(By.
2021-12-28 22:31:35
751
原创 selenium-鼠标操作ActionChains
actionChains常用操作: move_to_element 移动到某个元素-悬停 click 点击 double_click 双击...
2021-12-23 13:58:13
478
原创 selenuim 三种切换,window,iframe,alter
第一种,window:当跳转到新的窗口,并且需要在新窗口操作的时候需要切换。 首先获取所有窗口的句柄:driver.window_handles() 根据下标进行切换: driver.switch_to.window(name) 如,获取最新的窗口:windows =driver.window_handles() ...
2021-12-23 10:48:34
674
原创 selenium三种等待方式
1.sleep 没啥好说的,time包下的强制睡眠 time.sleep(5) 睡眠5s2.隐试等待 :driver.implicitly_wait(10) 等待10s,一般写在driver初始化后面,全局生效,智能等待(10s内返回就继续流程)3.显示等待:项目中最常用的WebDriverWait规定时间内默认每0.5s轮询一次from selenium.webdriver.support.wait import WebDriverWaitfrom ...
2021-12-22 17:06:49
638
原创 xpath定位
以百度为例:http://baidu.com1.查找搜索框//标签[@属性=" "] //input[@id="kw"]2.查找新闻按钮 //标签[text()=" "] //a[text()="新闻"] ...
2021-12-22 15:37:22
293
原创 python 操作mysql数据库简单封装
第一步,安装pymysql库:pip install pymysql第二步,创建一个db_utils.py第三步,上封装好的代码:class MySqlUtils: def __init__(self, host=None, port=0, user=None, passwd=None, db=None, charset='utf8'): self.conn = pymysql.connect(host=host,
2021-12-17 15:52:15
2039
原创 python读,写,修改yaml
先安装一个pyyaml库。pip install pyyaml。准备一个yaml文件:py.yaml注意箭头所示的地方要有空格创建一个要读取yaml文件的py文件read_yaml.pyimport yamlwith open("py.yaml", encoding="utf-8")as f: data = yaml.load(f.read(), Loader=yaml.FullLoader) print(data)打印data结果为:{'haizeiwang.
2021-12-15 22:43:19
1601
原创 python接口测试-从excel读取数据,进行请求,并生成测试报告
使用openpyxl类库进行excel的数据读取,注:openpyxl仅支持xlsx后缀结尾的excel文件。第一步,先安装openpyxl,直接控制台输入 pip install openpyxl。封装一个ExcelUtils的类。import openpyxlfrom openpyxl.worksheet.worksheet import Worksheetclass ExcelUtils: def __init__(self,file_name): self.
2021-12-14 22:02:13
1213
原创 linux 常用指令汇总
cd 打开目录 “.”当前目录 “..”上一级目录 cd~ 回到根目录ls 查看目录 -l 列表模式 -a显示隐藏文件vi 打开文件 i 光标处插入文本 s 替换 a 追加 esc或ctrl+c退出编辑模式 :wq 退出vi模式q! 强制退出不保存 :w 保存不退出ip addr 查看ip地址pwd 查看当前路径rm +文件名 删除文件 rm -f强制删除文件 rm -r删除目录mv 复制文件rz 上传文件tailf 查看日志ps -ef | g......
2021-12-09 15:55:32
509
原创 Selenium多窗口找不到元素
当出现多窗口的时候元素定位不生效,提示找不到对应的元素。NoSuchElementException:xxx这个时候多半是你没有切换句柄导致的,下面提供两个切换的方式:第一个:直接使用下标操作handles = wb.window_handles #获取所有的窗口wb.switch_to.window(handles[1])#切换到下标为1的窗口然后就可以正常使用了第二个:通过使用对应窗口的url或者tile来定位这里封装了一个方法,遍历所有的handle,找到符合条件的h.
2021-12-08 16:16:30
708
原创 jmeter跨线程组通信
通过一个例子来学会使用,第一个线程组访问百度,在返回值中获取title的值,在第二个线程组中以第一个线程组取回的的title为参数,在访问一次百度先创建两个线程组,改名为跨线程通讯1和2,分别在每个线程组下创建一个http请求,以百度为例然后取 ,因为是网页需要用到xpath提取器。此时已经拿到了title的值了,想要跨线程通讯,还需要创建一个beanshell为取样器添加脚本,可以点击上面箭头所指的图标,找到setProperty将复制下来的...
2021-12-04 22:13:07
525
原创 jmeter 第一个请求的返回值是第二个请求的入参
有两种方式可以实现:第一种,使用正则表达式提取器。我这边是将第一个请求的返回值放到后续请求的header中,所以配置一个http信息头管理器,此时${tn},就可以获取第一个请求返回的值了。第二种,使用json提取器:先创建一个json提取器进行配置例如想要获取uid的值,使用$.data.uid即可如果data中是数组的话。改成$.data[0].uid,即可获取第一个数组中的uid的值,然后同样值在http信息头管理器中 添加token的引用...
2021-12-03 21:01:53
1592
原创 jmeter 使用cvs数据
先在本地创建一个.txt的文件夹。在里面输入数据,每条数据用回车分割,每个数据用英文状态下的分号分割,然后打开jmeter创建一个csv数据文件箭头标注的位置改成如图所示即可。在创建一个线程组,将永远的对勾点上在消息体内如下设置还是以百度为例,点击请求查看结果树的request body,此时已经吧本地txt文件的数据读取到了jmeter中。...
2021-12-03 20:32:13
636
原创 jmeter脚本录制
先创建一个http代理服务器。在添加一个线程“aa”,将此处配置为刚创建的线程组aa。下载一个firefox浏览器,进入设置界面,点击网络设置,回到jmeter启动代理服务,此时在火狐浏览器的操作就会被记录到aa线程组中了。...
2021-12-03 20:04:44
43
原创 pytest入门看着一篇就够了
直接执行 如下命令即可安装 pytestpip install pytest我们还需要产生测试报表,所以要安装一个第三方插件pytest-html,执行如下命令安装pip install pytest-html在命令行直接输入pytest ,就会执行项目下的所有以test_,或者以_test结尾的方法或类可以输入pytest xxx yyy.py(xxx为指定文件夹,yyy指定文件)执行指定文件下的以test_,或者以_test结尾的方法或类pytest --html=repor..
2021-12-03 19:41:05
194
原创 appium环境搭建-android自动化
首先安装appium 执行pip install appium-python-client指令下载appium-desk,点击下载然后是配置android的环境,先安装java环境,去官网下载1.8版本的jdk,安装后配置环境变量,在去下载androidsdk,在配置下环境变量(具体方式百度一下,很多)。使用usb连接上电脑,注意开启开发者模式,打开usb调试,cmd命令行输入adb devices -l,出现连接的手机,则android环境搭建完成。如果想要进行自动化的apk已经安装到了手机.
2021-12-03 19:39:26
3464
原创 jmeter使用
https://jmeter.apache.org/download_jmeter.cgi先下载jmeter,直接解压就可以。因为jmeter是基于java环境的,所以,需要先配置java环境(oracle官网下载jdk,安装后配置环境变量)。找到你解压的地方,找到bin目录下的apachejmeter.jar,双击即可打开jmeter图形化工具。右键测试项目创建一个线程组。在右键线程组,创建一个http请求添加一个查看结果树看请求返回的数据...
2021-12-03 19:35:08
171
原创 selenium-web自动化小demo
通过上面两篇文章,相信大家都搭‘建起来了selenuim的环境,下面让我们动手开始写下第一个web自动化的程序。打开百度,并搜索“python”。新建一个python file。from selenium import webdriverfrom selenium.webdriver.common.by import By#新建一个webdriver实例wb = webdriver.Chrome(r'D:\python\Python39\Scripts\chromedriver.exe')
2021-11-22 22:49:23
714
原创 web自动化之selenium环境配置
上一片文章已经说过了python环境的搭建了,这里继续开始搞起来selenium的环境。自动化的流程大概是这样的:废话少说,下面开始环境搭建:1.先安装selenium,直接在pycharm的控制台,或者cmd命令行输入:pip install selenium 即可。网络不好,可以选择一下配置一下清华源的镜像传送地址。2.浏览器驱动下载。这里建议使用chrome浏览器。首先,打开chrome浏览器,点击右上角的---》帮助---》关于google chrom...
2021-11-19 15:19:48
714
原创 pycharm和python解释器安装
1。PyCharm: the Python IDE for Professional Developers by JetBrains去官网下载2.勾选第一个在桌面创建一个快捷图标。然后下一步等待安装即可。
2021-11-16 22:51:43
2595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人