自动化学习从录制开始 - Seleium IDE

       对于刚接触到自动化的同学来说,通过录制工具来学习自动化可能是最快捷的方式了,selenium可能也考虑到了这一点,所以很早之前就推出了一个叫Selenium IDE的工具来录制脚本。 http://docs.seleniumhq.org/download/  可以在这个站点来下载。注意这个站点不知为何被国内封了,我表示不太理解,所以需要翻墙,代理,VPN之类的工具来访问并下载,当然,也可以在第三方站点找。最后更新的版本是2.9.0。
       这个工具实际上是Firefox的一个插件,所以安装前需要先装Firefox,实际上Selenium Web的自动化最开始是在Firefox的基础上做的,后来兼容谷歌的Chrome以及IE,并没有Firefox完美。

      上图是安装了Selenium IDE的Firefox,点击这个按钮就可以调出Selenium IDE。打开IDE后,录制功能默认是打开的,最右端的红色按钮可以控制。用百度做例子,在Base URL中输入http://www.baidu.com,然后在Firefox中输入百度,输入"test"进行搜索。这个时候切换到IDE中可以看到工具主体中有内容显示出来,这就是录制的结果,可以通过回放来看测试结果,这里的回放是可以在当前的Firefox浏览器上重复刚才的步骤,并生成测试结果。只是光看这个是无法了解脚本怎么写的,需要转换成脚本。
 
       这个功能可以把这段转换成脚本,我选择的是Java,当然如果你熟悉Ruby,Python或者C#的话,可以转换成对应的开发语言。可以看到这里有Remote Control和Web Driver,RC是Selenium1,而Web Driver是另外一个公司开发的,后来的Selenium2是RC公司收购了WD后产生的,除了大幅度提高了执行效率外,整合的API也实现了很多功能,包括现在的移动端自动化。IDE因为很久没有更新,所以RC也没有拿掉。
       以下代码是刚才录制转化过来的:

package com.example.tests;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class 1 {
  private WebDriver driver;   //实例化Webdriver
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before  //执行测试类前的操作
  public void setUp() throws Exception {
    driver = new FirefoxDriver();  //把FirefoxDriver作为一个对象给driver,开启Firefox浏览器。
    baseUrl = "https://www.baidu.com/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); //这是一个隐形等待的方法,等待页面加载完成。
  }

  @Test
  public void test1() throws Exception {
    driver.get(baseUrl + "/");  //get 方法,是在浏览器中输入指定的URL
    driver.findElement(By.id("kw")).click();  //这里涉及到两个方法, findElement是查找当前页面元素,click是点击这个元素,这个是                                                                         //WD查找并操作元素的核心部分。
    driver.findElement(By.id("kw")).clear(); //clear是清空当前元素中的文本内容  
    driver.findElement(By.id("kw")).sendKeys("test"); //sendKeys是在当前元素中输入文本内容。
    driver.findElement(By.id("su")).click();
  }

  @After  //执行测试类后的操作
  public void tearDown() throws Exception {
    driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

//后面的三个方法是录制生成的,对这条case没有实质的意义,isElementPresent判断指定元素是否显示在页面上,isAlertPresent判断页 //面是否有Alert弹出,closeAlertAndGetItsText关闭Alert窗口并获取Alert的内容。
  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        alert.dismiss();
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}  

       上面这个java文件可以直接用java来运行,当然要运行的话需要导入依赖的包。对于Java开发,Eclipse可能是最方便的集成开发环境了,具体我们后面再讲。
        录制只能作为学习手段,但不能完全代替自动化实施手段,譬如业内用得多的功能方向的QTP,性能的Loadrunner,录制只是方便学习或者节省开发成本,脚本最后都是需要做处理才能用到产品线上。
iTestin3.0.1版本: 简单.强大.专业。 iTestin 基于真实终端设备的脚本录制、回放,验证工具。友好、简便的操作界面,强大的脚本录制功能。适用于Android系统下的Phone和Pad。从简单到深入为Android应用程序测试. iTestin3.0.1实用功能概括: 控件识别与坐标录制脚本 支持脚本本地编辑功能 支持滑屏,长按等操作 支持账号及复杂文本的输入 支持断言、休眠、截屏等脚本操作 支持插入、删除、编辑操作 支持脚本在不同分辨率安卓终端上运行 支持脚本上传云端千款终端同时测试 WindowsXP及以上操作系统.运行畅通,挣脱环境束缚.保证系统兼容性. iTestin自动化测试工具特点:   1、全面的自动化测试   提供业界最全面的自动测试服务类型:兼容测试、性能测试、功能测试。真实记录测试过程,返回测试结果。测试结果包括:安装时长、启动时长,CPU占用、内存占用、界面截图、Log日志,Bug原因及分析等。   2、支持基于Android的应用、手游的复杂脚本录制   全球首款支持Android系统的自动化脚本工具,采用黑盒测试,为移动开发者提供基于批量终端的功能测试、脚本录制回放,及测试记录的功能。支持多功能点的应用、手游的脚本录制,支持长按、划屏、输入账号、密码等的深度遍历操作录制。   3、快速交付   支持记录在移动终端设备上记录操作行为;生成、编辑脚本文件;支持在本地设备上反复回放验证、运行,调试,并记录回放结果。iTestin还支持将录制好的脚本上传至Testin真机云测试平台,在大批量终端上进行功能测试验证。   4、标准化报告   Testin为开发者提供最专业、最详细的测试报告,采用黑盒测试忠实记录脚本在真机上的运行过程,自动生成屏幕截图和Log日志等,帮助开发者快速找到Bug原因。 iTestin自动化测试工具重点功能:   a、 连接和管理连接在PC上的终端设备,包括Phone和Pad。   b、支持在终端设备上记录操作行为、自动生成屏幕截图、Log日志等,并可生成相应脚本上传至iTestin平台。   c、支持在终端设备上记录操作行为、生成脚本文件。支持在终端设备上反复回放脚本进行本地验证并记录回放结果。自动导出错误屏幕截图和Log日志等。   d、支持在PC上上传录制的脚本文件和应用包到Testin平台,在Testin云测终端云的其他终端上按脚本执行应用程序做功能测试。 主要升级内容: 版本号:3.0.1-beta 1、编辑脚本时,右键菜单增加“修改”功能,用户可直接修改延时时长 2、客户端界面底部增加“查看更新信息”功能,可以查看最新更新信息 3、完善控件录制功能,修复某些应用引导界面无法正常识别控件的问题 4、完善控件录制功能,使客户端画面与终端实际画面保存同步 5、完善控件回放功能,使回放结果检查更准确 6、优化提交脚本界面和云测试界面分别增加loading提示
iTestin3.0.1版本: 简单.强大.专业。 iTestin 基于真实终端设备的脚本录制、回放,验证工具。友好、简便的操作界面,强大的脚本录制功能。适用于Android系统下的Phone和Pad。从简单到深入为Android应用程序测试. iTestin3.0.1实用功能概括: 控件识别与坐标录制脚本 支持脚本本地编辑功能 支持滑屏,长按等操作 支持账号及复杂文本的输入 支持断言、休眠、截屏等脚本操作 支持插入、删除、编辑操作 支持脚本在不同分辨率安卓终端上运行 支持脚本上传云端千款终端同时测试 WindowsXP及以上操作系统.运行畅通,挣脱环境束缚.保证系统兼容性. iTestin自动化测试工具特点:   1、全面的自动化测试   提供业界最全面的自动测试服务类型:兼容测试、性能测试、功能测试。真实记录测试过程,返回测试结果。测试结果包括:安装时长、启动时长,CPU占用、内存占用、界面截图、Log日志,Bug原因及分析等。   2、支持基于Android的应用、手游的复杂脚本录制   全球首款支持Android系统的自动化脚本工具,采用黑盒测试,为移动开发者提供基于批量终端的功能测试、脚本录制回放,及测试记录的功能。支持多功能点的应用、手游的脚本录制,支持长按、划屏、输入账号、密码等的深度遍历操作录制。   3、快速交付   支持记录在移动终端设备上记录操作行为;生成、编辑脚本文件;支持在本地设备上反复回放验证、运行,调试,并记录回放结果。iTestin还支持将录制好的脚本上传至Testin真机云测试平台,在大批量终端上进行功能测试验证。   4、标准化报告   Testin为开发者提供最专业、最详细的测试报告,采用黑盒测试忠实记录脚本在真机上的运行过程,自动生成屏幕截图和Log日志等,帮助开发者快速找到Bug原因。 iTestin自动化测试工具重点功能:   a、 连接和管理连接在PC上的终端设备,包括Phone和Pad。   b、支持在终端设备上记录操作行为、自动生成屏幕截图、Log日志等,并可生成相应脚本上传至iTestin平台。   c、支持在终端设备上记录操作行为、生成脚本文件。支持在终端设备上反复回放脚本进行本地验证并记录回放结果。自动导出错误屏幕截图和Log日志等。   d、支持在PC上上传录制的脚本文件和应用包到Testin平台,在Testin云测终端云的其他终端上按脚本执行应用程序做功能测试。 主要升级内容: 版本号:3.0.1-beta 1、编辑脚本时,右键菜单增加“修改”功能,用户可直接修改延时时长 2、客户端界面底部增加“查看更新信息”功能,可以查看最新更新信息 3、完善控件录制功能,修复某些应用引导界面无法正常识别控件的问题 4、完善控件录制功能,使客户端画面与终端实际画面保存同步 5、完善控件回放功能,使回放结果检查更准确 6、优化提交脚本界面和云测试界面分别增加loading提示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值