![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化测试
自动化测试,本专栏仅作为学习记录使用
在路上288
这个作者很懒,什么都没留下…
展开
-
yapi接口自动化断言及mock数据
yapi断言及mock数据原创 2022-12-12 19:00:53 · 571 阅读 · 0 评论 -
selenium分布式执行测试用例
selenium Grid只提供多系统,多浏览器的执行环境,selenium Grid本身并不提供并行的执行测试用例,以下是使用多线程技术结合selenium Grid实现分布式并行地执行测试用例启动 selenium server在本机打开两个命令提示符窗口本机启动一个主hub和一个node节点,端口号分别为4444,5555,本机IP地址为:xxx.xxx.xxx.xxxC:\selenium>java -jar selenium-server-standalone-2.47.0.jar原创 2021-10-08 10:13:33 · 479 阅读 · 0 评论 -
selenium之验证码
使用验证码可以有效的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性1、去掉验证码2、设置万能验证码。去掉验证码的主要问题是安全,为了应对在线的系统的安全威胁,可以在修改程序时不取消验证码,而是在程序中留一个“后门”,即设置一个“万能验证码”。只要用户输入这个“万能验证码”,程序就认为验证通过 ,否则就判断用户输入的验证码是否正确,设计万能验证码只要对用户的输入信息多加一个逻辑判断,如下:from random import randintverify = randint(1000,999原创 2021-10-08 10:13:06 · 979 阅读 · 0 评论 -
python操作txt文件
Python用以下几种读取txt文件的方式read():读取整个文件readline():读取一行数据readlines():读取所有行的数据用txt文件来存放用户名和密码参数,通过读取该文件中的数据作为测试用例的测试数据#user_info.txtzhangsan,123lisi,456wangwu,789user_file = open('user_info.txt','r')lines = user_file.readlines()user_file.close()for原创 2021-10-02 09:55:49 · 641 阅读 · 0 评论 -
webdriver原理
webdriver原理webdriver是按照server-client的经典设计模式设计的server端就是Remote Server,可以是任意的浏览器。当脚本启动浏览器后,该浏览器就是Remote Server,它的职责就是等待client发送请求并做出响应。client端简单说来就是我们的测试代码。测试代码中的一些行为,如打开浏览器,跳转到特定的URL等操作是以HTTP请求的方式发送给被测试浏览器的,也就是Remote Server。Remote Server接受请求,执行相应操作,并在Res原创 2021-10-02 09:55:29 · 1815 阅读 · 0 评论 -
selenium中quit()和close()的区别
quit()方法,指退出相关的驱动程序和关闭所有窗口close()方法,指关闭当前窗口,在执行用例过程中打开多个窗口,要关闭其中的某个窗口,这时就要用到close()方法进行关闭原创 2021-10-02 09:55:06 · 659 阅读 · 0 评论 -
selenium截图
webdriver提供了截图函数get_screenshot_as_file()来截取当前窗口from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()driver.get('http://www.test.com')driver.find_element_by_id('kw').send_keys('selenium')driver.find_element_by_id('su').cli原创 2021-10-02 09:54:13 · 71 阅读 · 0 评论 -
selenium之处理视频
HTML5定义了一个新的元素,指定了一个标准的方式来嵌入电影片段,IE9+,Firefox,Chrome都支持该元素from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()driver.get("http://videojs.com/")video = driver.find_element_by_xpath("body/Setion[1]/div/video")url = driver.e原创 2021-10-02 09:53:39 · 667 阅读 · 0 评论 -
selenium之调用js
借助JavaScrpt来控制浏览器的滚动条,webdriver提供了execute_script()方法来执行JavaScript代码,代码如下:windows.scrollTo(左边距,上边距);window.scrollTo(0,450)window.scrollTo(x,y)方法用于设置浏览器窗口滚动条的水平和垂直位置。方法的第一个参数表示水平的左间距,第二个参数表示垂直的上边距,第二个参数表示垂直的上边距。代码如下:from selenium import webdriverfrom原创 2021-10-02 09:53:13 · 445 阅读 · 0 评论 -
selenium操作cookie
操作cookiewebdriver提供操作cookie的方法,可以读取,添加和删除cookie信息webdriver操作cookie的方法:get_cookies() 获得所有cookie信息get_cookie(name): 返回字段的key为"name"的cookie信息add_cookie(cookie_dict): 添加cookie。“cookie_dict”指字典对象,必须有name和value值delete_cookie(name,optionsString): 删除cookie信息原创 2021-10-02 09:52:46 · 945 阅读 · 0 评论 -
selenium之上传文件和下载文件
上传文件普通上传:普通的附件上传是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器插件上传:一般是指基于flash、JavaScript或ajax等技术所实现的上传功能send_keys实现上传通过浏览器打开upfile.html文件普通上传功能from selenium import webdriverimport osdriver = webdriver.Firefox()file_path = 'file:///' + os.path.abspa原创 2021-10-02 09:51:43 · 513 阅读 · 0 评论 -
selenium之警告框处理
警告框处理在webdriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。text:返回alert/confirm/prompt中的文字信息accept():接受现有警告框dismiss():解散现有警告框send_keys(keysToSend):发送文本至警告框。keysT原创 2021-10-02 09:51:01 · 243 阅读 · 0 评论 -
selenium之多窗口切换
多窗口切换页面操作过程中有时候点击某个链接会弹出新的窗口,此时就需要切换到新打开的窗口上进行操作。可以用switch_to.window()方法,可以实现不同的窗口之间的切换。from selenium import webdriverimport timedriver = webdriver.Firefox()driver.implicitly_wait(10)driver.get("http://www.testnet.com")sreach_windows = driver.curr原创 2021-10-02 09:50:12 · 225 阅读 · 0 评论 -
selenium之操作一组元素
定位一组元素,共8种find_elements_by_id()find_elements_by_name()find_elements_by_class_name()find_elements_by_tag_name()find_elements_by_link_text()find_elements_by_partial_link_text()find_elements_by_xpath()find_elements_by_css_selector()定位一组元素一般用于以下场景:1原创 2021-10-01 16:55:38 · 348 阅读 · 0 评论 -
selenium之设置元素等待
设置元素等待如果页面某个元素延时未加载,会造成ElementNotVisibleException的情况,会降低自动化脚本的稳定性,需要设置等待时间来解决webdriver提供两种类型的等待:显示等待和隐式等待显式等待webdriver等待某个条件成立时继续执行,否则在达到最大时长时抛出超时异常(TimeoutException)from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selen原创 2021-10-01 16:47:08 · 210 阅读 · 0 评论 -
selenium之验证码
为方便测试,我们在写case的时候,一般都用万能验证码from selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://www.testmail.com")print('Before login===========')title = driver.title # 打印当前页面titleprint(title)now_url = driver.current_url原创 2021-10-01 16:30:43 · 1538 阅读 · 0 评论 -
selenium之鼠标事件
鼠标事件1、鼠标右键操作from selenium import webdriverfrom selenium.webdiver.common.action_chains import ActionChains # 应入ActionChains类driver = webdriver.Firefox()driver.get("http://www.test.com")right_click = driver.find_element_by_id("XXX") #原创 2021-10-01 16:23:20 · 233 阅读 · 0 评论 -
selenium中的多表单切换
对于frame/iframe表单内嵌页面上的元素无法直接定位。这时就需要通过switch_to.frame()方法将当前定位的主题切换为frame/iframe。表单的内嵌页面中,找不到元素,可以使用switch_to.frame()先找到frame.html中的标签,然后再定位我们需要的元素框。from selenium import webdriverimport timeimport osdriver = webdriver.Firefox()file_path = 'file:///' +原创 2021-10-01 16:07:10 · 139 阅读 · 0 评论 -
UI自动化中启动Chrome报个人信息错误的解决方法
Chrome启动,弹出个人信息错误:cmd中输入:%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default删掉Default文件夹下面的Web Data文件夹操作系统:Windows10 专业版原创 2021-10-01 15:58:32 · 673 阅读 · 0 评论 -
selenium中方法的使用之is_enabled(),is_displayed(),is_selected(),property
记录selenium中的几个常用的方法,如下:获取标签属性:element.value_of_css_property('color') #获取元素CSS属性“color”的属性值获取标签状态:1、元素是否显示:element.is_displayed()text_field.is_displayed() #判断元素是否显示text_field=dr.find_element_by_name('user').is_enabled() 判断button是否显示,和is_disp原创 2021-10-01 15:55:38 · 6186 阅读 · 0 评论 -
selenium的定位方式
很久之前用过selenium,没有专门的看下他的API,最近专门突发奇想,想看下他的API,顺便做下记录。一、selenium的定位方式有以下八种:find_element_by_id()find_element_by_class_name()find_element_by_link_text()find_element_by_xpath()find_element_by_name()find_element_by_tag_name()find_element_by_partial_link原创 2021-10-01 15:18:07 · 6445 阅读 · 0 评论