学习Selenium历程

  • selenium remote control下载地址

http://www.veryhuo.com/down/html/107582.html

  • Xpath学习地址

http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html

三.Selenium快速入门

      http://www.51testing.com/html/98/n-220298.html

  • Selenium包含了测试的录制(Selenium IDE)、编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium Remote Control允许测试人员使用常见的语言(自然包括C#等.NET语言)编写测试代码,并支持不同操作系统下的各种主流浏览器。Selenium Grid的作用是将测试分发至多台机器,这样便可大大加快测试速度。Selenium IDE是基于FIREFOX浏览器的一个插件,提供GUI界面来运行Selenium测试。Selenium IDE提供脚本录制功能,可以将用户在浏览器中执行的操作记录下来,生成各种形式的脚本,可以将这些脚本保存供以后使用。
  • Selenium浏览器驱动

https://npm.taobao.org/mirrors/chromedriver/2.37/

1.chromedriver 下载地址:https://code.google.com/p/chromedriver/downloads/list

2.Firefox的驱动geckodriver 下载地址:https://github.com/mozilla/geckodriver/releases/

3.IE驱动IEdriver 下载地址:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/

六.Selenium+Chrome+java环境搭建简介https://www.cnblogs.com/sincoolvip/p/7451652.html

       1.Selenium下载

http://selenium-release.storage.googleapis.com/3.5/selenium-java-3.5.2.zip

    2. chromedriver下载

              http://chromedriver.storage.googleapis.com/index.html

    3.ChromeDriver与Chrome版本的对应

       http://blog.csdn.net/huilan_same/article/details/51896672

  • Idea 添加jar包的三种方式

https://blog.csdn.net/zwj1030711290/article/details/56678353

八.Python+Selenium     https://blog.csdn.net/azsx02/article/details/68947429

       启动浏览器Chrome、firefox、IE

       From Selenium import webdriver

       browser = new webdriver.Chrome()------谷歌

browser = new webdriver.Firefox()--------火狐

browser = new webdriver.Ie()--------------IE

browser.get(“http://baidu.com”)

注意:下载解压后,将chromedriver.exe , geckodriver.exe , Iedriver.exe发到Python的安装目录,例如 D:\python 。 然后再将Python的安装目录添加到系统环境变量的Path下面。

九.Selenium 官网  https://docs.seleniumhq.org/download/

 

 

 

 

 

十.Selenium 操作  https://blog.csdn.net/aliuxina/article/details/55506409

         最大化窗口:driver.manage().window().maxmize()

         定位元素、点击、输入:

driver.findElement(By.id(id)).click;

driver.findElement(By.id(id)).sendkey();

                               (By.name(name))      

                               (By.xpath(xpath))

                               (By.linkText(linkText))

火狐所有的geckodriver.exe驱动大全

https://github.com/mozilla/geckodriver/releases

firefox历年版本安装包的官方镜像地址:

https://download-installer.cdn.mozilla.net/pub/firefox/releases/

十一. selenium webdriver的断言介绍:

                   https://blog.csdn.net/qq1124794084/article/details/51276453

         click(点击)

clickAndWait(点击并等待) 

type(文本类型) 

select(选择下拉菜单) 

selectWindow(选择弹出窗口) 

pause(等待指定时间,以毫秒为单位,即要睡眠的时间) 

setSpeed(设定执行速度。以毫秒延迟间隔长度。默认没有延迟,即为0) 

setTimeout(指定等待动作完成的等待时间。默认为30秒。  需要等待的动作包括了OPEN 和WAITFOR) 

goBack(模拟用户点击其浏览器上的“back”按钮) 

close(模拟用户点击弹出窗体或表单标题栏上的”关闭”按钮) 

click与clickAndWait的区别:例如对比录制脚本:

Comand                      Target 

Click                     css=input[type=submit]  //  句子一clickAndWait      css=input[type=submiit]   //句二  转成PHPUNIT后代码为:  $this->click(“css=input[type=submit]“);     //此句对应上面的句一  $this->click(“css=input[type=submit]“);         //此句和下一句,对应上面的 句二  $this->waitForPageToLoad(“30000″); 

区别在于:clickAndWait后会有一个默认的页面等待时间为30秒;而click没有等待时间; 

Andwait这个后缀,告诉我们,该命令将使浏览器向服务器产生一个请求,使Selenium等待加载一个新的页面。    

辅助accessors:  这是辅助工具。用于检查应用程序的状态并将结果存储到变量中。  如:storeElementPresent(locator,variableName)  其中参数:locator 表示元素定位器;variableName 用于存储结果的变量名。  即将locator定位到的状态存储到variableName变量中。  如果该元素出现返回true,否则返回false  可同断言一同使用。 

断言assertion:  验证应用程序的状态是否同所期望的一致。 

常见的断言包括:验证页面内容,如标题是否为X或当前位置是否正确,或是验证该复选框是否被勾选。

断言被用于三种模式: assert 、verify、waitfor 

Assert 失败时,该测试将终止。 

Verify 失败时,该测试将继续执行,并将错误记入日显示屏 。也就是说允许此单个 验证通过。确保应用程序在正确的页面上。 

Waitfor用于等待某些条件变为真。可用于AJAX应用程序的测试。 

如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超时时间。 一般跟setTimeout时间一起用

断言常用的有: 

assertLocation(判断当前是在正确的页面)、 

assertTitle(检查当前页面的title是否正确)、 

assertValue(检查input的值, checkbox或radio,有值为”on”无为”off”)、 

assertSelected(检查select的下拉菜单中选中是否正确)、 

assertSelectedOptions(检查下拉菜单中的选项的是否正确)、 

assertText(检查指定元素的文本)、 

assertTextPresent(检查在当前给用户显示的页面上是否有出现指定的文本)、  assertTextNotPresent(检查在当前给用户显示的页面上是否没有出现指定的文本)、  assertAttribute(检查当前指定元素的属性的值)、 

assertTable(检查table里的某个cell中的值)、 

assertEditable(检查指定的input是否可以编辑)、 

assertNotEditable(检查指定的input是否不可以编辑)、 

assertAlert(检查是否有产生带指定message的alert对话框)、 

waitForElementPresent (等待检验某元素的存在。为真时,则执行。)

Actions 类提供了鼠标操作的常用方法:Actions(driver) 调用Actions()类,将浏览器驱动driver作为参数传入。

contextClick() 右击

clickAndHold() 鼠标点击并控制,用于模拟鼠标悬停操作, 在调用时需要指定元素定位。

doubleClick() 双击

dragAndDrop() 拖动

release() 释放鼠标

perform() 执行所有Actions中存储的行为, 可以理解成是对整个操作的提交动作

import org.openqa.selenium.Keys; 在使用键盘按键方法前需要先导入 keys 类。

         以下为常用的键盘操作:

sendKeys(Keys.BACK_SPACE) 回格键(BackSpace)

sendKeys(Keys.SPACE) 空格键(Space)

sendKeys(Keys.TAB) 制表键(Tab)

sendKeys(Keys.ESCAPE) 回退键(Esc)

sendKeys(Keys.ENTER) 回车键(Enter)

sendKeys(Keys.CONTROL,‘a’) 全选(Ctrl+A)

sendKeys(Keys.CONTROL,‘c’) 复制(Ctrl+C)

sendKeys(Keys.CONTROL,‘x’) 剪切(Ctrl+X)

sendKeys(Keys.CONTROL,‘v’) 粘贴(Ctrl+V)

sendKeys(Keys.F1) 键盘 F1

……

sendKeys(Keys.F12) 键盘 F12

设置元素等待:WebDriver提供了两种类型的等待:显式等待和隐式等待

         显示等待:

         WebDriverWait类是由WebDirver提供的等待方法。在设置时间内,默认每隔一段时间检测一次当前页面元素是否存在,如果超过设置时间检测不到则抛出异常。

具体格式如下: WebDriverWait(driver, 10, 1)

driver: 浏览器驱动。 10: 最长超时时间, 默认以秒为单位。 1: 检测的的间隔(步长) 时间, 默认为 0.5s。

         隐式等待:WebDriver 提供了几种方法来等待元素。

         implicitlyWait。识别对象时的超时时间。过了这个时间如果对象还没找到的话就会抛出NoSuchElement异常。

setScriptTimeout。异步脚本的超时时间。WebDriver可以异步执行脚本,这个是设置异步执行脚本脚本返回结果的超时时间。

pageLoadTimeout。页面加载时的超时时间。因为WebDriver会等页面加载完毕再进行后面的操作,所以如果页面超过设置时间依然没有加载完成,那么WebDriver就会抛出异常。

//页面加载超时时间设置为 5s       

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);       

driver.get("https://www.baidu.com/");         

 //定位对象时给 10s 的时间, 如果 10s 内还定位不到则抛出异常       

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);      

driver.findElement(By.id("kw")).sendKeys("selenium");          

//异步脚本的超时时间设置成 3s       

driver.manage().timeouts().setScriptTimeout(3, TimeUnit.SECONDS);

十一.Maven 仓库:         https://mvnrepository.com/

         Idea&Maven help           https://www.jetbrains.com/help/idea/maven.html

         Maven 官网                               http://maven.apache.org/

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值