selenium,webdriver遍历表格

selenium,webdriver遍历表格
selenium,webdriver遍历表格

竭诚为您提供优质文档/双击可除selenium,webdriver遍历表格

篇一:seleniumwebdriver+python基本操作

selenium

webdriver+python的基本操作

quit()

退出并关闭某程序,browser.quit().close()

关闭窗口,browser.close()

time.sleep()函数设置某个位置停留一段时间,在哪里想停留就在哪里插入此函数,括号里为秒数,注意:使用此函数,要importtime。

设置登录成功后停留了10秒,然后关闭页面

在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败

.title

返回当前页面的标题

browser.title

.forward()

前进,browser.foeward()

.back()

后退,browser.back()

.refresh()

刷新,

browser.refresh()

.current_url

返回当前页面url,browser.current_url

.window_handles

返回当前浏览器的所有窗口,browser.window_handles .current_window_handle

返回当前浏览器的窗口句柄,

browser.current_window_handle

.swatch_to_window(“window_name”)选择窗口,browser.switch_to_window(“要切换到的窗口名”) 对话框操作

.switch_to_alert()

选择窗口对象

accept()

点击“确认”

.dismiss()

点击“取消”

text

获取文本值

send_keys(‘keys’)

输入值

定位元素

id定位

browser.find_element_by_id(‘id’)

name定位

browser.find_element_by_name(‘name’)

css定位css(cascadingstylesheets)是一种语言,它被用来描述html和xml文档的表现。css使用选择器来为页面元素绑定属性。这些选择器可以被selenium用作另外的定位策略。

css的比较灵活可以选择控件的任意属性

browser.find_element_by_css_selector(‘#foo’)css 定位可以取name属性,如:

新闻

driver.find_element_by_css_selector("a[name=\"tj_ne ws\"]").click()

可以取title属性,如:

driver.find_element_by_css_selector("a.Recyclebin")

.click()

xpath定位

browser.find_element_by_xpath(‘xpath’)xpath是一种在xml文档中定位元素的语言。因为html可以看做xml 的一种实现,所以selenium用户可是使用这种强大语言在web应用中定位元素。

xpath扩展了上面id和name定位方式,提供了很多种可能性,比如定位页面上的第三个多选框。

xpath:attributer(属性)

driver.find_element_by_xpath("//input[@id=kw]").sen d_keys("selenium")

#input标签下id=kw的元素

xpath:idRelative(id相关性)

driver.find_element_by_xpath("//div[@id=fm]/form/sp an/input").send_keys("selenium")#在/form/span/input 层级标签下有个div标签的id=fm的元素

driver.find_element_by_xpath("//tr[@id=check]/td[2] ").click()

#id为check的tr,定闪他里面的第2个td

xpath:position(位置)

driver.find_element_by_xpath("//input").send_keys(" selenium")

driver.find_element_by_xpath("//tr[7]/td[2]").click ()

#第7个tr里面的第2个td

xpath:href(水平参考)

driver.find_element_by_xpath("//a[contains(text(),

网页)]").click()

#在a标签下有个文本(text)包含(contains)网页的元素

xpath:link

driver.find_element_by_xpath("//a[@href=/]").click() #有个叫a的标签,他有个链接href=/的元素

link定位

browser.find_element_by_link_text(u‘链接’)

有时候不是一个输入框也不是一个按钮,而是一个文字链接,我们可以通过link如:

自动生成验证码图片的工具类,收藏起来备用。

[原]自动生成验证码图片的工具类,收藏起来备用。用法:直接调用其静态方法即可。 Map map = ImageUtil.getImage();//获取图片,将图片转换成InputStream流 String key = map.keySet().iterator().next();//获取图片上的字符 BufferedImage image = map.get(key);//获取BufferedImage,赋值给imageStream其中,String为验证码的值,BufferedImage为验证码的图片。 该工具类的代码如下:ImageUtil.java package action; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.HashMap; import java.util.Map; import java.util.Random; public final class ImageUtil { private static final String[] chars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "东", "南", "西", "北", "中", "发", "白" }; private static final int SIZE = 5;//验证码长度 private static final int LINES = 20;//干扰线条数 private static final int WIDTH = 200;//图片宽度 private static final int HEIGHT = 100;//图片高度 private static final int FONT_SIZE = 60;//字体高度 public static Map getImage() { StringBuffer sb = new StringBuffer(); BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics graphic = image.getGraphics(); graphic.setColor(Color.LIGHT_GRAY); graphic.fillRect(0, 0, WIDTH, HEIGHT); Random ran = new Random(); //画随机字符 for(int i=1;i<=SIZE;i++){ int r = ran.nextInt(chars.length); graphic.setColor(getRandomColor()); graphic.setFont(new Font(null,Font.BOLD+Font.ITALIC,FONT_SIZE));

Selenium安装以及简单的自动化测试用例

Selenium安装以及简单的自动化测 试用例 中科软科技股份有限公司 2013年4月 V1.0.0

关于本文档 说明:类型-创建(C)、修改(U)、删除(D)、增加(A);

目录 目录 (3) 1.Selenium介绍 (3) 2.相关组件 (3) 3.启动seleniumRC (4) 4.简单测试用例 (4) 4.1在火狐浏览器上下载并打开selenium IDE (5) 4.2录制测试用例 (6) 4.2.1 录制 (6) 4.2.2 检查 (6) 4.2.3 语言转换 (6) 4.2.4 准备Eclipse环境 (7) 4.2.5 运行 (9) 1.Selenium介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Mozilla Suite等。 功能: ●测试直接在浏览器中运行,就像真实用户所做的一样,从终端用户的角度测试应用程序。 ●使浏览器兼容性测试自动化成为可能。 ●使用简单,可生成多种语言的用例脚本。 2.相关组件 ●Selenium IDE:一个Firefox插件,可以录制用户的基本操作,生成测试用例。随后可以 运行这些测试用例在浏览器里回放,可将测试用例转换为其他语言的自动化脚本。

●Selenium Remote Control (RC) :支持多种平台(Windows,Linux,Solaris)和多种浏览器(IE, Firefox,Opera,Safari),可以用多种语言(Java,Ruby,Python,Perl,PHP,C#)编写测试用例。 ●Selenium Grid :允许Selenium-RC 针对规模庞大的测试案例集或者需要在不同环境中 运行的测试案例集进行扩展。 3.启动seleniumRC 官网下载:https://www.360docs.net/doc/4110429595.html,/download/。打开cmd,进入RC存放文件夹。在命令行输入:java –jar selenium-server.jar 。 启动成功。 注意在启动RC前,确认电脑上安装JDK版本高于1.5 4.简单测试用例 以OA系统登录为例:

selenium webdriver+python基本操作

selenium webdriver+python的基本操作 quit() 退出并关闭某程序,browser.quit() .close() 关闭窗口,Browser.close() time.sleep() 函数 设置某个位置停留一段时间,在哪里想停留就在哪里插入此函数,括号里为秒数,注意:使用此函数,要import time。

设置登录成功后停留了10秒,然后关闭页面 在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败.title 返回当前页面的标题 browser.title .forward() 前进,browser.foeward() .back() 后退,browser.back() .refresh() 刷新,browser.refresh()

.current_url 返回当前页面url,browser.current_url .window_handles 返回当前浏览器的所有窗口,browser.window_handles .current_window_handle 返回当前浏览器的窗口句柄,browser.current_window_handle .swatch_to_window(“window_name”) 选择窗口,browser.switch_to_window(“要切换到的窗口名”) 对话框操作 .switch_to_alert() 选择窗口对象 accept() 点击“确认” .dismiss() 点击“取消” text 获取文本值

Send_keys(‘keys’) 输入值 定位元素 Id定位 browser.find_element_by_id(‘id’) name定位 browser.find_element_by_name(‘name’) css定位 CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML和XML文档的表现。CSS使用选择器来为页面元素绑定属性。这些选择器可以被selenium用作另外的定位策略。 CSS的比较灵活可以选择控件的任意属性 browser.find_element_by_css_selector(‘#foo’) css定位可以取name属性,如: 新闻 driver.find_element_by_css_selector("a[name=\"tj_news\"]").click() 可以取title属性,如: 网页 driver.find_element_by_css_selector("a[title=\"web\"]").click() 也可以是取..: driver.find_element_by_css_selector("a.RecycleBin").click()

c#生成验证码的方法

新建一个WaterMark.ASHX文件,将如下代码Copy进去 <%@ WebHandler Language="C#" Class="WaterMark" %> using System; using System.Web; using System.Drawing; using System.Drawing.Drawing2D; using System.Web.SessionState; public class WaterMark : IHttpHandler, IRequiresSessionState // 要使用session必须实现该接口,记得要导入System.Web.SessionState命名空间 { public void ProcessRequest(HttpContext context) { string checkCode = GenCode(5); // 产生5位随机字符 context.Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证 System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22); Graphics g = Graphics.FromImage(image); try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White); // 画图片的背景噪音线 int i; for (i = 0; i < 25; i++) { int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2); } Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold)); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true); g.DrawString(checkCode, font, brush, 2, 2);

SeleniumTest自动化测试入门级学习笔记

Selenium Test 自动化测试入门级学习笔记 1、下载安装Firefox-selenium插件 需要下载插件可以联系,这里暂不提供下载地址。 2、集成Eclipse 需要下载jar包可以联系,这里暂不提供下载地址。 集成Eclipse非常简单,加载进去jar包就OK! 3、通过Selenium IDE 录制脚本

{ 点这里就开始录制!} 以上操作是:百度输入hao123,点击搜索。 4、录制完毕导出selenium-java脚本

模板: import a.; import a.iver; import a.ox.FirefoxDriver; public class OpenTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //设置浏览器driver operty("ox.bin", "E:/Program Files/Mozilla firefox/"); WebDriver driver; driver=new FirefoxDriver(); //打开百度的首页 ("");

lement(By.linkText("hao123")).click(); //关闭浏览器 //(); } } 5、启动不同浏览器 Firefox: operty("ox.bin", "E:/Program Files/Mozilla firefox/"); IE: operty(".driver", "C:/liuluanqi/"); 这个应该也可以试试 //Create a newinstance of the Internet Explorer driver WebDriver driver = newInternetExplorerDriver (); or //path to ur IEDriver exe public static String IEDriver_64 = "C:/"; operty(".driver", IEDriver); driver = new InternetExplorerDriver(); Chrome: operty(“e.driver”, bsPath); WebDriverdriver = new ChromeDriver(); or //location of your chrome driver exe public static String ChromeDriver = "C:/selenium/gtn_fht/lib/"; operty("e.driver", ChromeDriver);

登录校验,生成随机图形验证码

package com.env.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class RandomValidateCode { public static final String RANDOMCODEKEY = "RANDOMVALIDATECODEKEY";//放到session 中的key private Random random = new Random(); private String randString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";//随机产生的字符串 private int width = 80;//图片宽 private int height = 26;//图片高 private int lineSize = 40;//干扰线数量 private int stringNum = 4;//随机产生字符数量 /* * 获得字体 */ private Font getFont(){ return new Font("Fixedsys",Font.CENTER_BASELINE,18); } /* * 获得颜色 */ private Color getRandColor(int fc,int bc){ if(fc > 255) fc = 255; if(bc > 255) bc = 255; int r = fc + random.nextInt(bc-fc-16); int g = fc + random.nextInt(bc-fc-14); int b = fc + random.nextInt(bc-fc-18); return new Color(r,g,b); }

验证码图片不能正常显示的一个原因

验证码技术的实现按如下步骤: 1、设计一个验证码生成类RandomImageGenerator.java import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.ImageIO; public class RandomImageGenerator { final static int LENGTH=4; static Color colors[]={Color.red,Color.black,Color.blue,Color.pink,Color.cyan}; public static String random() {//创建一个4位的验证码字符串 String str="1234567890ABCDEFGHIJKLMNOPORSTUVWXYZabcefghijklmnopqrstuvwxyz",r and=""; java.util.Random random=new java.util.Random(); for(int i=0;i

开源自动化测试工具selenium的使用

开源自动化测试工具selenium的使用 (玉米猫) 一Selenium概述: Selenium是现在使用最为广泛的一款开源自动化测试工具,也是非商业支持的稳定性易用性最好的一款自动化测试工具。和由HP提供强大商业支持的QTP相比,selenium不仅在软件投资上有比较大的优势,在针对web测试的稳定性上也有绝对的优势。以下介绍的内容会通过和QTP在各方面的比较中进行,并针对简单的测试样例,对基本的使用进行简单说明。 二Selenium的组成: 和QTP等其他工具类似,selenium也有几个组件组成,同时在使用的时候还需要一些开发的IDE平台进行支持。 对于初步的简单使用,需要先掌握seleniumIDE,RC的基本使用,以及对象识别方式Xpathe的基本知识。 1)seleniumIDE: selenium和QTP类似,同样需要先进行一定的脚本录制工作,而它默认支持的录制浏览器是firefox,IDE就充当了一个脚本记录的工作,它的表现形式为firefox的一款插件。 它可以记录准备过程中,用户在firefox上的制定网址下所做的一切操作,并转化为自己需要的一种开发语言,包括:java、perl、PHP、C#、Ruby等等。 2)RC: RC是selenium的特色组件,它通过从底层向不同的浏览器发出动作指令,达到用脚本控制web的效果,和QTP的activeX驱动的模式有着本质的不同,只要浏览器的动作指令原理不发生本质性的变化,就可以利用selenium达到自动化测试的效果,不会由于出现新的浏览器,还要等待HP重新开发相应的activeX控件。

3)其他: 由于selenium的非商业支持,所以很多类似于QTP中的组件都使用了firefox插件的办法得到了补充。 Firebug:帮助用户对页面上的对象进行识别,它可以准确捕捉到任何一个可见元素和不可见元素,同时支持由对象找代码和由代码找对象的使用方法,非常类似于QTP的spy 和控件高亮显示功能。 Xpather:帮助用户利用xpath标记对象的位置信息,根据xpath的实现方式,可以将页面上的每一个控件元素做唯一性标识,非常类似于QTP的对象库,区别在于Xpath只记录元素的位置样式属性,不会记录截图。 三Selenium的简单使用: 1)测试的准备工作: 这里所说的准备工作,只一个自动化测试的准备,预计基本的测试用例等内容已经准备完成。 假如被测系统为ADCPX: 首先:用firefox打开被测系统的首页,启动IDE插件。 需要注意的是,IDE的baseUrl一定是当前要测试的web首页,默认生成的第一个testcase 的名称可以通过属性进行更改。一个IDE中可以录制或生成多个testcase。

生成随机的5位登录验证码

生成随机的5位登录验证码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.util.Random; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; static String code=""; publicclass checkService { publicvoid checkCode(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{ //绘制画布 BufferedImage bf=new BufferedImage(80,30,BufferedImage.TYPE_INT_BGR); //获得画笔 Graphics g=bf.getGraphics(); //给画笔设置颜色 g.setColor(new Color(255,255,255)); //填充背景色 g.fillRect(0, 0, 80, 30); //随机获得前景色 Random r=new Random(); g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255))); //设置字体 Font f=new Font("",Font.BOLD,22); //获得字体 g.setFont(f); //以当前颜色和字体绘制干扰线 checkService.code=checkService.getstr(); g.drawString(checkService.code,10,25); for(int i=0;i<10;i++){ g.drawLine(r.nextInt(80), r.nextInt(30), r.nextInt(80), r.nextInt(30));

selenium自动化测试的框架

selenium 自动化测试的框架 自动化测试的框架 软件自动化测试 style="font-family: 宋体 ;mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin;mso-fareast-font-family: 宋体 ;mso-fareast-theme-font: minor-fareast;mso-hansi-font-family:Calibri;mso-hansi-the me-font:minor-latin"> 个阶段。

selenium ide 菜鸟入门(1)

对于,我们做测试的新手来说,自动化测试一直是一个比较高级的领域,当然是相对于手工测试来说。最近,对自动化测试产生了兴趣。不,具体点应该是对selenium工具产生了兴趣。为什么不是QTP呢,之前,QTP也有学习,后来还买了本《QTP自动化测试进阶指南》,看了几天,不知为什么看不下去。嗯!我一直偏爱于开源的技术和工具。最早用LR 做性能测试,后来发现了JMeter那个小工具后,基本上能用JMeter解决的问题,就不在用LR了。开源的东西好处多多,当然了不足也多多。这里就不啰嗦了。呵呵。 下面说说selenium吧!想学一样东西,找相关学习资料是第一步。说说我觉得比较好的资料:《selenium私房菜系列》、selenium官方文档、《selenium 1.0 testing tools 》。不过,我还是买了一本书,我把在当当网的评论贴过来。 "本来想买,后来听朋友说,内容行间距很大,有凑页数的意思,前面部分是在翻译(selenium)官网的文档,包括后面也?有真正写出作者公司的实战经验。打开一看基本和朋友说的一样。为什么后来又要买了,有几分无奈在里面。selenium 的中文资料并不多,网上的都是零散的皮毛,本人英语很差,所以,英文的资料看起来太吃力。《selenium 1.0 testing tools 》其实是一本很好的书,可惜没有中文的,其实可以慢慢啃,但selenium 2.0都出来了,selenium RC 已经被selinum server替代,又加了很多新技术,跟不上啊。所以,只能选了这本书,希望对我有所帮助。" 下面我的笔记也算是基于《零成本实现web自动化测试---基于seleinum与Bromine》这本书的。 ----//认识IDE面板 关于selenium IDE的安装,请参考我的上一篇文章《selenium RC 配置》

selenium 自动化测试的框架

selenium 自动化测试的框架 自动化测试的框架 软件自动化测试的框架和工具的发展大致将经历以下4个阶段。

使用SELENIUM进行复杂的WEB自动化测试

使用分层的Selenium框架进行复杂Web应用的自动测试 软件工程师,IBM 王晨,是IBM中国系统与科技研发中心的软件工程师。从事IBM Systems Director开发测试工作。对自动测试、Web2.0和Open Source等相关领域感兴趣。 简介:在复杂Web应用程序的自动测试中,会产生大量冗余的测试脚本,同时,由于测试场景复杂多变,测试用例的灵活管理与调用是不可回避的需求。在本文中,作者通过将开源Web自动测试框架Selenium从逻辑上进行了分层,从而提高了测试脚本的复用性与可维护性。通过本文的实例讲解,您将了解该项技巧的原理与关键实现。 发布日期:2010年2月22日 级别:中级 Selenium概述 Selenium是一种Web应用的自动测试工具,通过模拟用户对Web页面的各种操作,可以精确重现软件测试人员编写的Test Cases步骤。Selenium包含三个工具:Selenium-IDE,Selenium-RC以及Selenium-Core。其中,Selenium-Core是驱动Selenium工作的核心部分,作为一个用JavaScript编写的测试引擎,它可以操作Web页面上的各种元素,诸如:点击按钮、输入文本框,以及断言Web页面上存在某些文本与Web元素等。 Selenium-IDE是一个Firefox插件,能够录制回放用户在Firefox中的行为,并把所记录的Selenese(Selenium Commands)转化为 Java/C#/Python/Ruby等语言,在Selenium-RC中修改复用。对于较为复杂的Test Cases,Selenium-IDE的功能有限,往往用它录制大致的步骤,再转化为测试人员熟悉的编程语言,在此基础上完善,形成更为强大且灵活的Selenium-RC Test Cases。 Selenium-RC(Selenium Remote Control)在Web浏览器与需要测试的Web 应用间架设代理服务器(Selenium Server),使得JavaScript引擎与被测Web应用同源,绕开同源策略的限制(Same Origin Policy),进而取得对Web页面进行各种操作的权限。 开发环境配置

相关文档
最新文档