Selenium 2(Webdriver)】的更多相关文章

如何用webdriver打开一个浏览器,我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器,很多新的特性都会在firefox中体现.但是做页面的测试,启动速度比较慢,启动以后运行速度还是可以接受的. 启动firefox浏览器 新建一个firefoxDriver如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.setProperty("webdriver.firefox.bin", "D:/Program Files…
http://blog.sina.com.cn/s/blog_c189e2590102w3bv.html Selenium(Webdriver)自动化测试常问问题 (1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的.但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的.需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大…
前言 关于Selenium元素定位,这是最后一篇博客. Xpath定位可以实现的功能 Selenium+Java(三)Selenium元素定位中讲的定位方式也可以实现,具体要用那种定位方式要根据自己的实际情况来选择,灵活运用. 成功定位到元素才是王道. 一.Xpath层级与索引定位 以12306官网为例:如果想要定位此li标签中的内容,li标签中的内容如果没有相应的属性,此时可以先定位到li的上层元素div或者ul,由上层元素再向下寻找.也可以由下层元素向上寻找,向上寻找与向下寻找差别不大使用“…
1.selenium RC+Eclipse下载安装 java环境 官网下载地址http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,本例中用的java     SE1.8,安装在了D盘java文件夹下,注意环境变量的配置:新建变量JAVA_HOME=D:\Java\jdk1.8.0_11,在变量path中添                   加%JAVA_HOME%\bin:. 验证java是…
小编整理了目前学习的Python+selenium常用的一些方法函数,以后有新增再随时更新. 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: maximize_window() 设置窗口参数:set_window_size(600,800) 后退到前一页: back() 前进到后一页: forward() 刷新页面: refresh() 元素定位: id定位:find_element_by_id() name定位:find_…
(一)  WebDriver WebDriver提供许多用来与浏览器交互的功能和设置,通过WebDriver的功能和一些方法,来实现与浏览器窗口.警告.框架和弹出窗口的交互,它也提供了自动化操作浏览器导航栏.设置cookies.截屏等方便我们测试的特性. (二)  WebDriver功能及方法 功能/属性 简单说明 current_url 获取当前页面的URL地址(driver.current_url) 下面的都是以这种方式,driver指浏览器驱动实例. window_handle 获取当前窗…
今天朋友问我了几个关于Selenium自动化测试的问题,我看了一下感觉还比较典型.结合我以往自动化测试的经验,给出了一些儿粗浅的答案,希望能帮大家,如果大家有什么好的看法,希望相互交流,相互学习! (1)selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?答:Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的.但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的.需要开发人员规范开发习惯,如给页面元素加上唯…
1.安装jdk并配置环境变量: jdk安装jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html环境变量配置,如:CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarJAVA_HOME=D:\Program Files\Java\jdk1.6.0_10PATH=%JAVA_HOME%\bin 2.安装Firefox,Selenium …
#!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #在实际测试过程中,有时候我们需要使用tab键将焦点转移到下一个需要操作的元素,用以验证元素的排序是否正确.webdriver的Keys()类提供键盘上所有的按键操作,同时可以模拟组合件,如Ctrl+A等 #引入Keys包from selenium.webdriver.common.keys import Keysfrom selenium import webdriv…
selenium安装 pip install selenium selenium操作浏览器原理 早期selenium 1.0 用的selenium RC, 后来selenum2集合了selenium1.0 + webdriver,selenium RC被webdriver替换.通过webdriver,测试脚本(例如python)可以方便的通过API操作浏览器页面元素,包括打开,关闭,最大化,最小化,元素定位,元素单击等等等.但是selenium操作浏览器还需要一个驱动程序,不同的浏览器如file…
(一)方法 方法 简单说明 add_cookie(cookie_dict) 在当前会话中添加cookie信息 cookie_dict:字典,name和value是必须的 delete_all_cookies() 在当前会话中删除所有cookie信息 delete_cookie(name) 删除单个名为name的cookie信息 get_cookie(name) 返回单个名为name的cookie信息,如果没有找到,返回none get_cookies() 返回当前会话所有的cookie信息  …
(一) 前言 简单的说就是分为2层,页面class 和测试class. 页面class:分为父类和子类(子类指具体的页面,每一个页面都创建一个类),父类中定义公有的属性和方法(操作). #对面向对象有了解的,应该很容易理解抽象出公有属性和方法的意思 #父类和子类我是按自己的理解进行描述的,或者可以说basepage对象(父对象,提供公有的属性.方法) 和 page对象(具体哪一个页面) 测试class:按照业务流程,对各个页面的属性.操作进行组合,形成一个测试用例. 使用page object模…
(一) 前言 Selenium Grid可以将测试分布在若干个物理或虚拟机器上,从而实现分布方式或并行方式执行测试. 这个链接是官方的相关说明. https://github.com/SeleniumHQ/selenium/wiki/Grid2 (二) Selenium Grid 大概就是这个意思(一个中心节点(HUB),N个子节点(NODE,操作系统+浏览器)) (三) 环境配置 1. 前提:已经配置相应的 JDK环境(LINUX自带JDK环境(我装的LINUX自带的是1.8),WINDOWS…
 (一) 前言 突然的资源受限或网络延迟,可能导致找不到目标元素,这时测试报告会显示测试失败.这时需要一种延时机制,来使脚本的运行速度与程序的响应速度相匹配,WebDriver为这种情况提供了隐式等待和显式等待两种机制. (二) 隐式等待 一旦设置隐式等待时间,就会作用于这个WebDriver实例的整个生命周期(对所有的元素查找都生效),设置隐式等待时间后,Webdriver会在一定时间内持续检测和搜寻DOM,以便于查找一个或多个不是立即加载成功并可用的元素.隐式等待的默认时间是0. WebDr…
#之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了. (一) 前言 开发人员使用JavaScript 警告或者模态对话框来提示校验错误信息.报警信息.执行操作后的返回信息,甚至用来接收输入值等. (二) Alert类 Selenium WebDriver 通过Alert 类来操控 JavaScript 警告. (三) Alert功能及方法 功能/属性 简单…
(一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<select>中的<option>元素实现的.使用前使用下面的语句导入模块. from selenium.webdriver.support.ui import Select (二) Select类的功能及方法 功能/属性 简单说明 all_selected_options 获取下拉菜单和列表中被选…
  (一)  前言 Web应用以及包含超文本标记语言(HTML).层叠样式表(CSS).JS脚本的WEB页面,基于用户的操作(例如点击提交按钮),浏览器向WEB服务器发送请求,WEB服务器响应请求,返回给浏览器HTML及相关的JS.CSS.图片等资源,浏览器使用这些资源生成WEB页面,其中包含WEB各种视觉元素,例如文本框.按钮.标签.图标.复选框.下拉框.图片等,这些视觉元素或控件都被Selenium称为页面元素(webelements). 想要让Selenium执行我们想要的操作,首先必须让…
(一) Test Suite测试套件 一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行. 应用unittest的TestSuites特性,可以将不同的测试组成一个逻辑组,然后设置统一的测试套件,并通过一个命令来执行测试.这都是通过TestSuites.TestLoader和TestRunn类来实现的. (二) 类级别的setUp()方法和tearDown()方法 使用setUpClass()方法和tearDownClass…
#网络很慢可能会运行报错 (一)   前言 Selenium WebDriver是一个浏览器自动化测试的API集合.它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序.如果仅仅使用Selenium WebDriver,我们无法实现执行测试前置条件.测试后置条件,比对预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能. (二)   unittest单元测试框架 unittest(一般称为PyUnit)是从Java程序开发中广泛应用的JUnit启发而…
#有的时候可能要访问外国的网站下载资料或工具,这时可能出现各种问题,例如谷歌人机验证显示不了.网站打不开等,建议使用一个FQ软件 (一)  设置IE (1)   http://docs.seleniumhq.org/download/  下载IEDriverServer.(建议下载32位的,64位的驱动执行send_keys很慢,可以都下载感受下) (2)   解压到任意目录,将路径添加到PATH变量中 (3)   Internet选项中,下面4个要么都启用保护模式,要么都不启用. (4)  …
#环境配置基于windows操作系统 #学习selenium要有一些HTML和xpth的基础,完全不会的建议先花点时间学点基础(不然元素定位,特别是xpth可能看的有点懵) #HTML :  http://www.runoob.com/html/     #xpth:  http://www.runoob.com/xpath (一)  环境配置 (1)执行下面的命令(前提:已经安装python环境,可以参考之前发的python笔记(一)) pip install -U selenium (2)h…
一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文章中我们只介绍了如何利用urllib.requests这样的请求库来将我们的程序模拟成一个请求网络服务的一端,来直接取得设置好的url地址中朴素的网页内容,再利用BeautifulSoup或pyspider这样的解析库来对获取的网页内容进行解析,在初级篇中我们也只了解到如何爬取静态网页,那是网络爬虫…
1.设置浏览器大小: # -*- coding:utf- -*- from selenium import webdriver import time driver = webdriver.Firefox() url = "http://www.baidu.com" driver.maximize_window() # 设置浏览器大小:全屏 driver.get(url) time.sleep() driver.set_window_size(, ) # 高和宽分别是600 2.控制浏…
转载:https://www.cnblogs.com/tarrying/p/9681991.html tarrying selenium的三种等待时间 //隐式等待(20秒以内没哥一段时间就会去找元素,如果没找大也不会报错,过了20s才会报错) //driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); //显示等待 WebDriverWait wait = new WebDriverWait(driver,10); wa…
官网:https://www.seleniumhq.org/ 下载地址:https://sites.google.com/a/chromium.org/chromedriver/downloads 华为镜像地址:https://mirrors.huaweicloud.com/chromedriver/ 阿里镜像地址:https://npm.taobao.org/mirrors/chromedriver/ 下载时,浏览器版本与 selenium 驱动版本要对应. 引入依赖,这里测试了 chrome…
1. 多窗口切换 有时候需要在多窗口切换,webdriver提供了switch_to_window()方法支持切换窗口: from selenium import webdriver import os,time driver = webdriver.Chrome() frist_url = "http://www.baidu.com" driver.get(frist_url) #获取百度登录窗口句柄 login_windows = driver.current_window_han…
1. clear() clear()方法用于清除文本输入框内的内容:一般输入框中都有默认文字,如果不清空有可能会导致字符拼接: browser.find_element(By.ID,"userId").clear() 2. send_keys(*value) send_keys()方法模拟键盘输入向输入框内输入内容. browser.find_element(By.ID,"userId").send_keys("测试") 3. click() c…
Gradle.JUnit 5和Jupiter Selenium Selenium是一组支持浏览器自动化的工具,主要用于Web应用程序测试.Selenium的组件之一是Selenium WebDriver,它提供客户端库,JSON有线协议(与浏览器驱动程序进行通信的协议)和浏览器驱动程序.Selenium WebDriver的主要优点之一是,它几乎支持所有主要编程语言,并且可以在所有主流操作系统上运行. 在本文中,将使用Gradle与Java,JUnit 5和Selenium Jupiter一起完…
在这一部分教程中,将介绍JUnit 5的其他功能,这些功能将通过并行运行测试,配置测试顺序和创建参数化测试来帮助减少测试的执行时间.还将介绍如何利用Selenium Jupiter功能,例如通过系统属性进行测试执行配置,单个浏览器会话测试以加快测试执行速度或捕获测试中的屏幕截图,AssertJ库的基本Demo. 使用JUnit 5并行测试执行 JUnit 5带有内置的并行测试执行支持.下面的命令将并行运行TodoMvcTests的测试方法: ./gradlew clean test --test…
一.Chrome浏览器 首先,在所有的打开浏览器操作之前,要配置好python环境和selenium,安装好如下图所示:然后可以选择一款适合自己的编辑器,这里用的是pycharm(第一次写博客贴的动图怎么那么奇怪啊哈哈哈哈,不忍直视) from selenium import webdriver import time driver = webdriver.Chrome() driver.maximize_window() driver.get("https://baidu.com")…