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

1、下载安装Firefox-selenium插件

   需要下载插件可以联系,这里暂不提供下载地址。

 

2、集成Eclipse

  需要下载jar包可以联系,这里暂不提供下载地址。  

集成Eclipse非常简单,加载进去jar包就OK!

3、通过Selenium IDE 录制脚本

    { 点这里就开始录制!}

以上操作是:百度输入hao123,点击搜索。

4、录制完毕导出selenium-java脚本

模板:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class OpenTest {
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //设置浏览器driver
        System.setProperty("webdriver.firefox.bin", "E:/Program Files/Mozilla firefox/firefox.exe");
        WebDriver driver;
        driver=new FirefoxDriver();
        //打开百度的首页
        driver.get("http://www.baidu.com");
        driver.findElement(By.linkText("hao123")).click();
        //关闭浏览器
        //driver.close();
    }
} 

5、启动不同浏览器

Firefox:

System.setProperty("webdriver.firefox.bin", "E:/Program Files/Mozilla firefox/firefox.exe");

IE:

System.setProperty("webdriver.ie.driver""C:/liuluanqi/IEDriverServer.exe"); 这个应该也可以 试试

//Create a newinstance of the Internet Explorer driver

WebDriver driver = newInternetExplorerDriver ();or//path to ur IEDriver exe
public static String IEDriver_64 = "C:/IEDriverServer.exe"; 

System.setProperty("webdriver.ie.driver", IEDriver);
driver = new InternetExplorerDriver();

Chrome:

System.setProperty(“webdriver.chrome.driver”, bsPath);

WebDriverdriver = new ChromeDriver();

or

//location of your chrome driver exe
public static String ChromeDriver = "C:/selenium/gtn_fht/lib/chromedriver.exe"; 

System.setProperty("webdriver.chrome.driver", ChromeDriver); 

// driver.manage().window().maximize() for Chrome driver throws
// org.openqa.selenium.WebDriverException: Maximize automation interface is not supported for this version of Chrome.
// so using the below capabilities 

DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches", Arrays.asList("--start-maximized"));
driver = new org.openqa.selenium.chrome.ChromeDriver(capabilities);

6、元素操作

查找元素

使用操作如何找到页面元素Webdriver的findElement方法可以用来找到页面的某个元素,最常用的方法是用id和name查找。下面介绍几种比较常用的方法。
By ID假设页面写成这样:
<input type=”text” name=”userName”  id=”user” />
那么可以这样找到页面的元素:
通过id查找:
WebElement element = driver.findElement(By.id(“user”));
By Name或通过name查找:
WebElement element = driver.findElement(By.name(“userName”));
By XPATH或通过xpath查找:
WebElement element =driver.findElement(By.xpath(“//input[@id=‘user‘]“));
By Class Name假设页面写成这样:

<div class=”top”><span>Head</span></div><divclass=”top”><span>HeadName</span></div>
可以通过这样查找页面元素:
List<WebElement>top= driver.findElements(By.className(“top”));

By Link Text假设页面元素写成这样:
<a href=”http://www.baidu.com”>baidu</a>>
那么可以通过这样查找:
WebElement baidu=driver.findElement(By.linkText(“baidu”));

输入框传值

输入框(text field or textarea)   找到输入框元素:
WebElement element = driver.findElement(By.id(“passwd-id”));
在输入框中输入内容:
element.sendKeys(“test”);
将输入框清空:
element.clear();
获取输入框的文本内容:
element.getText();

下拉菜单

下拉选择框(Select)找到下拉选择框的元素:
Select select = new Select(driver.findElement(By.id(“select”)));
选择对应的选择项:select.selectByVisibleText(“testName”);
或
select.selectByValue(“name”);
不选择对应的选择项:
select.deselectAll();
select.deselectByValue(“name”);
select.deselectByVisibleText(“姓名”);
或者获取选择项的值:
select.getAllSelectedOptions();
select.getFirstSelectedOption();

单选框

单选项(Radio Button)找到单选框元素:
WebElement sex=driver.findElement(By.id(“sex”));

选择某个单选项:

sex.click();
清空某个单选项:
sex.clear();

判断某个单选项是否已经被选择:

sex.isSelected();

复选框

多选项(checkbox)多选项的操作和单选的差不多:
WebElement area =driver.findElement(By.id(“area .”));
area .click();
area .clear();
area .isSelected();
area .isEnabled();

按钮

按钮(button)找到按钮元素:
WebElement saveButton = driver.findElement(By.id(“save”));

点击按钮:

saveButton.click();

判断按钮是否enable:

saveButton.isEnabled ();

左右选择框也就是左边是可供选择项,选择后移动到右边的框中,反之亦然。例如:

Select name= new Select(driver.findElement(By.id(“name”)));
name.selectByVisibleText(“hellen”);
WebElement addName=driver.findElement(By.id(“addButton”));
addName.click();

弹出框

弹出对话框(Popup dialogs)Alert alert = driver.switchTo().alert();
alert.accept();
alert.dismiss();
alert.getText();

表单提交

表单(Form)Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
WebElement sub= driver.findElement(By.id(“sub”));
sub.click();
或
sub.submit();//只适合于表单的提交

上传附件

上传文件 (Upload File)上传文件的元素操作:
WebElement picFile = driver.findElement(By.id(“picFile ”));
String filePath = “d:\\report\\600x600x0.jpg”;
picFile .sendKeys(filePath);

多窗口切换

Windows 或 Frames之间的切换

首先切换到默认的frame
driver.switchTo().defaultContent();
切换到某个frame:
driver.switchTo().frame(“leftFrame”);
从一个frame切换到另一个frame:
driver.switchTo().frame(“mainFrame”);
切换到某个window:
driver.switchTo().window(“windowName”);

导航

导航 (Navigationand History)打开一个新的页面:
driver.navigate().to(“http://www.baidu.com”);

通过历史导航返回原页面:
driver.navigate().forward();
driver.navigate().back();

时间: 2024-11-03 20:06:16

Selenium Test 自动化测试 入门级学习笔记的相关文章

Selenium2 Python 自动化测试实战学习笔记(七)

Selenium  Grid2 利用Grid可以在不同的主机上建立主节点(hub)和分支节点(node).使主节点上的测试用例在不同的分支节点上运行,可以搭建不同的环境,从而使一份测试用例完成在不同环境下的验证.Selenium Grid2已经集成到selenium server中了(selenium-server-stanalon-xxx.jar包中). 9.1 Selenium2工作原理 Selenium2 中因为使用的WebDriver,这个技术不是靠js 驱动的,而是直接调用浏览器的原生

Selenium2 Python 自动化测试实战学习笔记(三)

4.9 多表单切换 在web应用中经常会遇到frame嵌套页面的应用,webdriver每次只能在一个页面上识别元素,对于frame嵌套的页面上的元素,直接定位是定位不到的,这时候就需要switch_to_frame()方法将当前定位的主体切换到frame里.Frame.htm:frame.htm, 直接定位百度的输入框一定会报找不到元素的错误.那么可以使用switch_to_frame()先找到frame.html 中的<iframe>标签,然后再定位百度输入框.switch_to_fram

Selenium2 Python 自动化测试实战学习笔记(九)

第十一章 Git代码管理项目 Git是一个开源的分布式版本控制住系统,用以有效.高速的处理从很小到非常大的项目版本管理. Git管理项目的方式有两种:一种是本地部署Git版本管理系统,另一种是通过在线的代码托管. 本地部署Git版本管理系统,需要自己搭建环境,但项目的提交与更新速度快,更适合比较封闭项目:在线托管最大的好处是在有网络的情况下可以随时随地的提交自己的代码,但项目是公开的,当然也可以创建私有项目,大多属于付费服务. 在代码托管服务器,GitHub无疑是最优秀的,其稳定性吸引了大批开发

Selenium2 Python 自动化测试实战学习笔记(五)

7.1 自动化测试用例 不管是功能测试.性能测试和自动化测试时都需要编写测试用例,测试用例的好坏能准确的体现了测试人员的经验.能力以及对项目的深度理解. 7.1.1 手工测试用例与自动化测试用例 手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析. 前者具有较好的异常处理能力,而且能够基于测试用例,制造各种不同的逻辑判断,而且人工测试步步跟踪,能够细致定位问题.后者完全按照测试用例的步骤进行测试,只能

Selenium2 Python 自动化测试实战学习笔记(六)

1.1 创建定时任务 为了让自动化测试"自动化"起来,现在我们来创建定时任务,使自动化测试脚本在指定的时间自动化运行.创建定时任务的方法有很多,比如,我们可以写一段程序让其在指定的时间运行all_test.py 文件,或者使用系统的定时任务功能在指定的时间运行all_test.py文件. 在python的os模块中提供了system()用来执行系统命令.比如要执行:UnitTest\Project\run_all.py 可以这样实现:start_run.py #coding=utf-8

selenium学习笔记

Selenium-webdriver(Python)学习笔记 一.相关原理和知识 Selenium是一个关于Web的自动化测试工具,它具有免费,轻巧,支持多语言,多平台,支持分布式测试用例的执行等一系列的优点. Selenium家族大致上有四名成员,即Selenium RC,SeleniumIDE,Selenium Grid,Selenium Webdriver.笔者主要学习的Selenium Webdriver.Selenium Remote Control是一个代理服务器,它可以把各种编程语

【selenium学习笔记】webdriver进行页面元素定位

[selenium学习笔记]webdriver进行页面元素定位 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心.而操作又是以定位为前提的,因此,对页面元素的定位是进行自动化测试的基础. 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link te

selenium + python自动化测试unittest框架学习(二)

1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test

selenium + python自动化测试unittest框架学习(五)webdriver的二次封装

因为webdriver的api方法很长,再加上大多数的定位方式是以xpath方式定位,更加让代码看起来超级长,为了使整体的代码看起来整洁,对webdriver进行封装,学习资料来源于虫师的<selenium +  python自动化测试>一书. 在与测试用例文件夹同一目录下新建一个文件夹package,用来放置封装方法的模块文件 我们将webdriver二次封装的文件命名为location.py from selenium import webdriver from test_case.pub