前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下 一.selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法,以下方法是判断元素存在DOM中:presence_of_element_located    """ An expectation for checking that an element is present on the DOM of a page. This does n…
测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着功能的开发完成,测试代码也会对应的完成, 很显然,这是一个全新的开发模式, 在一定程度上,可以完全的提高软件的质量,以及开发可以对自己写的代码进行一个全面的评估和测试. TDD 模式是一个很大的概念,在这里, 我重点介绍下测试驱动模式与自动化的融合以及精简自动化的测试代码.下面我们来看一个登录的案例…
9.1 Logging模块 什么是日志记录?记录是跟踪运行时发生的事件的一种手段.该软件的开发人员将记录调用添加到其代码中,以指示某些事件已发生.事件由描述性消息描述,该消息可以可选地包含可变数据(即,对于事件的每次出现可能不同的数据).事件也是开发人员对事件的重视; 重要性也可以称为级别 或严重性.记录功能logging.debug('此功能提供详细信息')logging.warning('意外发生')logging.error('用于存储异常跟踪')logging.info('确认事情正在按…
前戏:线程的基础 运行多个线程同时运行几个不同的程序类似,但具有以下优点:进程内共享多线程与主线程相同的数据空间,如果他们是独立的进程,可以共享信息或互相沟通更容易.线程有时称为轻量级进程,他们并不需要多大的内存开销,他们关心的不是过程便宜.一个线程都有一个开始,执行顺序,并得出结论.它有一个指令指针,保持它的上下文内正在运行的跟踪.(1).它可以是抢占(中断)(2).它可以暂时搁置(又称睡眠),而其他线程正在运行看一下以下的小案例: import thread from time import…
#coding:utf-8 from time import sleep from selenium import webdriver class cloudedge_register(object): def __init__(self,mailaddr,passwd,url): self.mailaddr = mailaddr self.passwd = passwd self.url = url self.browser = webdriver.Firefox() def register…
#coding:utf-8 #for windows/py2.7 from time import sleep from selenium import webdriver browser = webdriver.Firefox() browser.get('http://www.xxx.com') bnowser.maximize_window() #窗口 最大化 browser.implicitly_wait(10) #自适应等待 10s browser.find_element_by_li…
#coding=utf- from selenium import webdriven from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException imp…
11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http://pan.baidu.com/s/1qXAHwg0 密码:juy7 11.2 tomcat+jenkins *******************************************************************************相关安装包下载链接:http://p…
什么是Page ObjectModel模式Page Objects是selenium的一种测试设计模式,主要将每个页面看作是一个class.class的内容主要包括属性和方法,属性不难理解,就是这个页面中的元素对象,比如输入用户名的输入框,输入登陆密码的输入框,登陆按钮,这个页面的url等,而方法,主要是指这个页面可以提供的具体功能.为什么选择POM?我们先看一段简单的代码如下: from selenium import webdriver import time driver = webdri…
我们都知道Selenium是一个Web的自动化测试工具,可以在多平台下操作多种浏览器进行各种动作,比如运行浏览器,访问页面,点击按钮,提交表单,浏览器窗口调整,鼠标右键和拖放动作,下拉框和对话框处理等,我们抓取时选用它,主要是Selenium可以渲染页面,运行页面中的JS,以及其点击按钮,提交表单等操作. from selenium import webdriver driver = webdriver.PhantomJS() driver.get("http://www.xxxxxx.com&…