Python+Selenium 3实现Web自动化测试
文章平均质量分 60
从零开始学习Web自动化测试框架的搭建
diyuzhiwaicc
这个作者很懒,什么都没留下…
展开
-
Web自动化测试实战11—记录日志
前面我们需要查看代码信息时,就直接调用print函数在控制台输出,但是实际测试的时候,可能需要大量的调试信息来定位问题,这时候只靠print不能解决根本问题。因此python提供了logging模块,来解决这一问题,接下来我们将围绕logging模块进行讲解。1.logging类 python的内置日志模块logging提供了通用的日志系统,可以根据测试的需要采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式。logging原创 2021-02-26 17:51:12 · 614 阅读 · 0 评论 -
Web自动化测试实战10—截图方法
在自动化测试过程中,截图是一种常用的辅助测试手段,特别是当用例运行出错时,需要用到截图方式来记录下错误结果,以便后续定位错误,在webdriver中提供了四种网络页面截图的方法。截图方法具体用途driver.get_screenshot_as_file(filename)获取截屏png图片,参数是文件的绝对路径,截屏必须是.png图片。如果只给文件名,截屏会存在项目的根目录下。driver.save_screenshot(filename)获取截屏png图片,参数是文件的原创 2021-02-25 15:12:22 · 1403 阅读 · 1 评论 -
Web自动化测试实战9—获取元素属性
在爬虫中经常需要处理链接相关的问题,而在html代码中链接一般都是通过href属性来表示的,这里我们就利用之前提到的get_attribute()方法来获取链接内容。举例:百度首页获取全部链接启动浏览器打开百度首页,https://www.baidu.com定位所有链接,xpath表达式://*[@href]通过get_attribute方法获取所有链接退出浏览器,结束测试from selenium import webdriverfrom time import sleepdr原创 2021-02-25 10:04:13 · 212 阅读 · 0 评论 -
Web自动化测试实战8—弹框处理
在WebDriver中处理JavaScript所生成的alert、confirm以及prompt十分简单,只需要使用switch_to.alert定位到alert/confirm/prompt,然后使用text/accept/dismiss/send_keys等方法进行操作。弹框类型有:弹框类型特性alert警告类,显示警告或其他信息只有一个确认按钮confirm确认类,询问是否继续某种操作等功能只有两个按钮:确认按钮+取消按钮prompt消息类,需要输入原创 2021-02-25 09:35:43 · 1306 阅读 · 0 评论 -
Web自动化测试实战7—多窗口切换
在页面操作过程中,有时候点击某个链接会弹出新的页面窗口,这时就需要切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法来实现不同的窗口之间的切换。常用方法有:current_window_handle:获得当前窗口句柄window_handles:返回所有窗口的句柄到当前会话switch_to.window():用于切换到相应的窗口举例:实现百度首页和百度新闻页面两窗口之间的切换启动浏览器打开百度首页,https://www.baidu.co原创 2021-02-24 16:02:12 · 620 阅读 · 1 评论 -
Web自动化测试实战6—键盘操作
Keys类提供了键盘上几乎所有的按键方法,也可以根据需要进行组合按键,例如全选、复制、剪切、粘贴等操作。1)在使用各种按键和组合按键前,需要先导入Keys类: selenium.webdriver.common.keys import Keys2)常用的按键和组合按键用法:模拟按键方法模拟按键send_keys(Keys.BACK_SPACE)删除键(BackSpace)send_keys(Keys.SPACE)空格键(Space)send_keys(Ke原创 2021-02-24 14:31:17 · 348 阅读 · 0 评论 -
Web自动化测试实战5—鼠标操作
在前面我们已经学习过用click()来模拟鼠标的单击操作,而在实际的web产品测试中发现,关于鼠标的操作,不单单只有单击,有时候还要有右击,双击,拖动等操作,这些操作包含在ActionChains类中。ActionChains类鼠标操作的常用方法:perform() 执行所有ActionChains中存储的行为context_click() 右击double_click() 双击drag_and_drop() 拖动举例:在百度首页,鼠标右键点击百度Logo。启动原创 2021-02-24 10:16:53 · 780 阅读 · 0 评论 -
Web自动化测试实战4—页面元素常用操作
页面元素的操作相对浏览器页面来说较少,主要是元素大小尺寸等基本信息以及点击,输入,清除等常规操作。举例1:获取百度登录基本信息<a class="s-top-login-btn c-btn c-btn-primary c-btn-mini lb" onclick="return false;" name="tj_login" href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.c原创 2021-02-24 09:30:07 · 182 阅读 · 0 评论 -
Web自动化测试实战3—浏览器常用操作
本章主要介绍webdriver中提供的一些浏览器操作的基本使用方法,主要有浏览器窗口大小设置,浏览器页面的前后跳转等。举例:启动后浏览器,这里我们用Chrome打开百度首页,https://www.baidu.com获取当前页面的窗口大小设置当前页面窗口大小为(800,400)打开百度新闻,http://news.baidu.com返回百度首页,并延时5秒前进到百度新闻页面,并延时5秒刷新百度新闻页面,并延时3秒退出浏览器,结束测试from selenium import we原创 2021-02-23 15:40:43 · 202 阅读 · 2 评论 -
Web自动化测试实战2—定位元素的八种方式
Webdriver提供了八种基本元素定位的方法方法用法特性idfind_element_by_id()元素id具有唯一性namefind_element_by_name()元素名称,可以不唯一,需要通过层级和属性结合或者二次定位class namefind_element_by_class_name()元素类名,用法与id,name类似,通过class属性来定位元素tag namefind_element_by_tag_name()标签li原创 2021-02-22 16:58:38 · 259 阅读 · 0 评论 -
Web自动化测试实战1—Selenium Webdriver常用API
Selenium Webdriver是Selenium里面最重要的东西,提供了web自动化的各种语言调用接口库,主要是是通过各种浏览器的驱动(web driver)来驱动浏览器的,下面是其原理的示意图: 由上图可知,Selenium Webdriver库中所有API的调用,都需要先获取浏览器实例driver,例如Chrome,Firefox,IE浏览器实例的获取方法:driver=webdriver.Chrome() #初始化一个谷歌浏览器实例driver=webdriver.firef原创 2021-02-22 11:36:37 · 254 阅读 · 1 评论