- 博客(35)
- 收藏
- 关注
原创 面试题(三)web自动化
欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入MarkdownText-to-HTMLAuthorsJohnLuke。
2023-04-04 23:52:38
984
原创 RF-失败用例重试
改写RobotFramework源代码增加--retry选项,实现test级别的失败用例自动再执行:失败用例会重跑N次,直至成功or 耗尽重试次数,生成的日志和报告文件中只会体现最后一次执行的结果。修改代码如下:一、修改文件C:\Python27\Lib\site-packages\robot\run.py 1)在USAGE变量里添加下面红色内容。 Options ======= -X --retry retry Set the retry times if...
2020-12-16 10:20:50
908
原创 seleniu-EC(title_is)
from selenium import webdriver from selenium.webdriver.support import expected_conditions as ecdriver = webdriver.Chrome()driver.get("https://www.baidu.com/")result = ec.title_is("百度一下,你就知道")print(result(driver))if result: print(111)结果:Tr.
2020-11-30 21:35:36
328
原创 面试题(二)网络
Linux常用命令有哪些,简述作用1)ls 查看当前目录2)df -h 查看磁盘使用情况3)kill 杀掉进程默认情况是kill的参数是-15kill -15是告诉进程你需要被关闭,请自行停止运行并退出kill -9表示进程被终止,需要立即退出4)top 查看当前主机状态5)mv 移动文件【mv ./a/aa ./b/】将a文件夹下的空文件夹aa移动到b文件夹下面【-f】...
2020-03-10 21:24:46
180
原创 接口测试
1. 接口类型系统对外的接口:客户端与后台服务的协议,如通过接口想网站服务器获取资源信息程序内部的接口:内部方法与方法、模块与模块间的调用2.接口的组成 接口应至少有请求地址、请求方法、请求参数,部分接口有请求头(header). header起在发送请求过程中传输额外重要信息的作用。校验信息如cookie,校验请求是否有权限访问服务器,也就是说服务器先接受header的信息进行判断...
2019-12-29 18:23:05
134
原创 备忘录
1、dubbo2、 Selenium+Junit+surefire+sikuli+IDEA+Git/SVN+TeskLink,Ant/Maven
2019-11-28 20:19:29
671
原创 HTTP中的get与post区别
1、get在浏览器回退时是无害的,而post会再次发起请求2、get请求只支持url编码,post支持多种编码方式3、get请求的参数会被完整得保留在浏览器历史记录里,post不会4、get请求在url里传送的参数是有限制的,post没有5、对参数的类型get只支持ascii字符,post无限制6、get的参数直接在url里,post在request body里7、get请求时产生一个...
2019-04-23 16:21:34
246
原创 数据库常用函数
1、concat(拼接字段)postgres=# select concat(id,name,remark) from t_kenyon; concat ------------- 1testkenyon 2justchina 3iamlovingU 4test 5adele2、concat_ws(拼接字段带拼接符)postgres=# select conc...
2019-04-10 19:54:56
193
原创 RF-Tips
1、execute javascript | document.documentElement.scrollTop=0操作滚动条至页面顶部execute javascript | document.documentElement.scrollTop=10000操作滚动条至页面底部
2019-03-28 11:02:58
711
转载 RF自定义库
1、在python安装目录下的 Lib\site-packages 目录下 新建一个目录,目录名就是库名,如 NewLibrary2、在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py。如:myclass.py,代码定义了一个python类,其中除构造方法 init 外,还定义了一个printMsg方法,该方法其实就是rf中的关键字,可以直接在rf中使...
2019-03-26 21:36:43
758
原创 3、获得apk的包名与activity的几种方式
1、aapt dump badging apk所在路径\apk名字(或者直接把apk拖进命令行)aapt d[ump]:查看APK包内指定的内容badging :查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息运行后的结果中以下两行分别是应用包名package和入口activi...
2019-03-03 17:05:35
547
转载 1、appium工作原理
Android在Android端,appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试。UiAutomator测试框架是Android SDK自带的App UI自动化测试Java库。另外由于UiAutomator对H5的支持有限,appium引入了chromedriver以及safaridriver等来实现...
2019-02-18 21:13:09
365
转载 Decode-Encode、json dump - json load
Decode-Encode字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str...
2019-02-12 19:50:10
513
原创 15、Selnium JS处理(滚动条)
1、滚动到底部js=“window.scrollTo(0,document.body.scrollHeight)”driver.execute_script(js)2、滚动到顶部js=“window.scrollTo(0.0)”driver.execute_script(js)3、聚焦元素target=driver.find_element_by_link_text(“123”)d...
2019-01-13 21:19:19
288
1
原创 14、Selenium 弹框
1、alert弹框移动到弹框: al=friver.switch_to_alert()点击确定:al.accept()点击取消:al.dismiss()弹框输入内容:al.send_keys()2、处理自定义弹窗消失js=document.getElementById(“kw”).style.display=‘NONE’...
2019-01-13 21:11:40
123
原创 13、Selenium select下拉框
1、分两步定位:driver.find_element_by_id(“nr”).find_element_by_xpath("//option[@value=‘50’]")2、直接定位:driver.find_element_by_xpath("//*[@id=‘nr’]/option[2]")3、模块定位通过索引定位:select_by_index()s=driver.find_e...
2019-01-13 17:56:00
173
原创 12、Selenium 窗口,iframe切换
获得当前窗口句柄:handle=driver.current_window_handle窗口切换:driver.switch_to.window(handle)全部窗口:handles=driver.window_handles释放iframe:driver.switch_to_default_content()返回到父iframe:driver.switch_to_parent_fra...
2019-01-13 15:10:54
486
原创 11、Selenium 鼠标和键盘事件
1、简单操作鼠标左键点击页面元素::click()清空输入框:clear()输入字符串:send_keys()2、键盘操作键盘F1-F12:send_keys(Keys_F1) 把F1改成对应的快捷键复制Ctrl+C:send_keys(Keys.CONTROL,‘c’)粘贴Ctrl+V:send_keys(Keys.CONTROL,‘v’)全选Ctrl+A:send_key...
2019-01-13 14:57:04
304
原创 10.Selenium元素查找方式
1、find_element_by_css_selection()id定位:driver.find_element_by_css_selector("#id")class定位:driver.find_element_by_css_selector(".class")标签定位:driver.find_element_by_css_selector(“input”)name属性定位:driv...
2019-01-12 23:11:10
681
原创 9、Selenium 浏览器基本操作
driver.get() 打开地址driver.refresh() 刷新driver.froward() 切换到下一页driver.back() 返回上一页driver.set_window_size(540,960) 设置窗口大小driver.maximize_window() 设置最大化driver.get_screenshot_as_file(“D://TEST.PNG”) 截...
2019-01-12 22:38:06
180
原创 8、元素信息(el)
文本信息 el.text是否被选中 driver.find_element_by_id(“boy”).is_selected()获取属性 el.get_attribute(属性名)标签名称 el.tag_name元素大小 el.sizeis_displayed()is_enabled()is_selected()获取CSS el.value_of_css_property(“co...
2019-01-12 16:28:46
301
原创 7、Selenium 文件上传、下载
input标签类型上传(send_keys)driver.find_element_by_name(“file”).send_keys(r"D:\test\14.png")其他类上传借助autoit工具或者sendkeys第三方库文件下载python3使用pyUserInputSendKeys...
2019-01-12 16:24:39
243
原创 6、JS原生查找元素方法
document.getElementById(“test”)document.getElementByName(“name”)document.getElementByTagName(“name”)document.getElementByclassName(“name”)getAttribute()setAttribute()removeAttribute()...
2019-01-12 16:16:48
5124
原创 5、Selenium显示等待
1、untilWebDriverWait(driver,10).until(lambda driver.find_element_by_Id[“kw”]).send_keys(“qlang”)WebDriverWait(driver,10).until(EC,presence_of_element_located(By_Id,“kw”))2、until_notWebDriverWai...
2019-01-12 16:14:07
1900
原创 4、Selenium Cookie处理
1、获取所有cookiesget_cookies()2、获取指定name的cookiedriver.get_cookie(name)3、清除指定cookiedelete_cookie()4、清除所有cookiesdelete_all_cookies()5、添加cookies的值(可用户绕过验证码登录)add_cookie(cookie_dict)...
2019-01-12 15:43:44
330
2
原创 3、Selenium断言
1、原生assertEqual(self,first,second,msg=None)判断两个参数相等assertNotEqual(self,first,second,msg=None)判断两个参数不相等assertIn(self,member,container,msg=None)判断字符串是否包含assertNotIn(self,member,container,msg=None)判...
2019-01-12 15:39:49
617
1
原创 AutoItLibrary偶尔关键字消失
AutoItLibrary存在偶尔关键字消失的情况方法:手动删除site-libraries下的AotoItLibrary文件夹,https://pypi.org/project/AutoItLibrary/1.1.post1/#files下载压缩包,解压缩后用管理员执行cmd,进入目录,输入命令python setup.py setup再次安装...
2019-01-10 17:47:09
1228
2
原创 2、Selenium常见异常
NoSuchElementException:没有找到元素NoSuchFrameException:没有找到frameNoSuchWindowException:没有找到窗口句柄handleNoSuchAttributeException:属性错误NoAlertPresentException:没找到Alert弹窗ElementNotVisibleException:元素不可见Ele...
2019-01-09 22:35:36
222
原创 1、Selenium框架
ddt库:数据驱动(http://www.mamicode.com/info-detail-1783953.html)unittest参数化(paramunittest)(https://www.cnblogs.com/yoyoketang/p/8856362.html)
2019-01-09 22:16:00
354
原创 robot framework for循环几种方式
1、普通for循环2、嵌套for循环infor3、for - in range 循环普通for- in rangefor - in range +start-end-step(step-2未截图出来)由10开始递减到2,幅度为24、for - in enumerate4-1 单参数多参数:5、for- in zip...
2018-10-14 20:17:17
8236
原创 RF初步关键字操作
1、创建测试用例2、加载library加载library如果失败时会显示红色,加载成功后显示黑色,按F5键,调出Search Keywords的界面3、添加关键字 “Open Browser”变蓝了,说明它是一个合法的关键字,后面有一个方框是红色的,表示这个参数不能缺省的。通过说明信息中,我发现它需要一个url 地址是必填的,当然还需要指定browser (默认不填为 friefo...
2018-10-12 09:29:28
5197
原创 RobotFramework安装
1.Robot framework的安装作用:web自动化测试框架。RF框架是基于python 的,所以一定要有python环境。网上可以自行查找。下载地址:https://pypi.python.org/pypi/robotframework/2.8.5#downloadspip install robotframework==2.8.52.wxPython 的安装作用:Wxpyth...
2018-10-09 13:51:37
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人