selenium2 python自动化测试实战 最近接手商城的项目,针对后台测试,功能比较简单,但是流程比较繁多,涉及到前后台的交叉测试.在对整个项目进行第一轮测试完成之后,考虑以后回归测试任务比较重,为了减轻回归测试的工作量,所以考虑后台可以进行部分自动化测试. 之前一个项目使用robotframework进行回归测试,了解了python语言,所以这次就使用python2.7+selenium2进行自动化回归测试了. 配置环境 python2.7 运行工具pycharm2017 一.项目结构介…
有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了.现在,你有机会再从头学一次了.从今天开始,船长会从最基本的知识开始,和大家一起学selenium.能不能跟着一起就看大家了.我们是按照虫师的书<selenium2 python 自动化测试实战>写的,没错,我看了多少,就会在这里和大家分享多少.还是老规矩,不明白的可以留言,现在有五六个人加了我好友,船长也尽力给大家解决问题了.还有要谢谢@川小姐姐的赞赏,你是第一个真正赞赏的,哈哈,谢谢! 好今天我们来第一课,搭建…
上一节我们说了如何定位元素,定位到元素以后就涉及到对元素的操作了,webdriver中常用的操作元素的方法有: clear  ——用于清除输入框的默认内容 send_keys  ——用于在一个输入框里输入内容 click  ——用于单点击一个按钮 此外,很多时候我们是要查看返回值的,常用的方法有: size  ——返回元素的尺寸用法: driver.find_element_by_id("定位的id").size text  ——获取元素的文本用法: driver.find_eleme…
定位一组对象 定位一组对象——find_elements_by_...(),注意,这里是elements,复数.返回的结果是一个列表,我们取值的时候就要用列表取值的方式来获得自己想要的元素.需要注意的就这么多.看一段代码立刻明白: 这是百度右上角的几个标签.我们看到,从“新闻”到“学术”的class是相同的: # coding: utf-8from selenium import webdriver driver = webdriver.Firefox() driver.get("http://…
本人在网上查找了很多做自动化的教程和实例,偶然的一个机会接触到了selenium,觉得非常好用.后来就在网上查阅各种selenium的教程,但是网上的东西真的是太多了,以至于很多东西参考完后无法系统的学习和应用,有一次在网上随意搜索,找到了-虫师-写的<Selenium2自动化测试实战基于Python语言>,觉得真心不错,内容也很调理,为了方便自己学习和知识的整理,就把其中虫师编写的自动化项目教程整理一下,有兴趣的可以去参看虫师的博客http://www.cnblogs.com/fnng/ 以…
浏览器操作 # coding: utf-8 from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get("https://www.baidu.com") # 设置浏览器宽800,高400 driver.set_window_size(800, 400) sleep(3) # 最大化窗口 driver.maximize_window() driver.get(&…
线性测试 已经被淘汰了:线性测试就是一个脚本完成一个场景,代码基本没有复用,每一个脚本都要从头开始写——这哪行. 模块化与类库 这个就是分模块:有点类似面系那个对象,把功能(比如登录)单独拿出来,当下次用到这个功能的时候只需要调用(登录)模块即可. 提高开发效率 方便代码维护 数据驱动 数据与脚本分离——参数化. 关键字驱动 看过我的robot Framework了吧,那个就是关键字驱动,“关键字”其实就是把函数封装成关键字,用的时候直接把这个封装好的关键字拿过来用就OK了.其实和数据驱动差不多…
之前我们已经学过利用cookies跳过验证码登录了,那时候我们用的方法是add_cookie()方法,这里再给大家介绍两个,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的: # coding: utf-8 from selenium import webdriverfrom time import sleep d = webdriver.Firefox() d.get("https://www.yiyao.cc")# 看一下登录前的cookieprint d.…
鼠标事件包含在ActionChains类中,导入时只需要: from selenium.webdriver.common.action_chains import ActionChains 导入类即可: 常用的方法有: context_click()  ——右键单击 double_click()  ——双击 drag_and_drop(鼠标按下的元素,鼠标释放的元素)  ——拖动 move_to_element()  ——鼠标悬停在一个元素上 click_and_hold()  ——按下鼠标左键…
unittest是展开自动化测试的基础——这个框架很重要! 我们先自己写一个测试类: 1.被测试类 Widthget.py: # coding: utf-8 class Widthget:    def __init__(self, size=(10, 10)):        self._size = size    def getSize(self):        return self._size        def reSize(self, width, height):      …