zoukankan      html  css  js  c++  java
  • IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建

    IDEA+java:Selenium+Maven+TestNG

    流程:JDK-Maven-IDEA-Selenium-TestNG-脚本

    快捷窗口:

    1. JDK安装及配置
    2. Maven安装、配置及使用
    3. 各浏览器驱动下载链接

     附送:selenium国内镜像网站,打不开selenium官网的可以在此下载!

    本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解!

     使用maven的好处,由此也可以看到,因为访问selenium官方,有的时候是需要翻墙才能打开的,而用了maven就可以免费下载了~

    首先,编译器,我使用了IDEA,而非eclipse,是因为IDEA与Maven可以更完美的融合,并且更好用,更智能,推荐大家抓紧转入。

    IDEA安装

    JDK安装及配置教程点击进入查看

    官方下载地址:https://www.jetbrains.com/idea  (首页点击DOWNLOAD,应该很明显吧?)

    根据你的系统环境选择并下载完整版(不要问收费怎么办,继续看!)

      下载并安装到你喜欢的地方,最好不要在C盘(系统盘),除非你是足够空间的固态硬盘!

      安装过程中说到的注册码的问题,直接忽略,直到安装完成!

      破解:

      1.首先下载名为 JetbrainsCrack-2.10.jar 的包到本地Idea的bin目录下,

      下载地址:点击下载 (后期我会补其他下载地址,防止收费或失效)

      2.修改配置文件:

        在安装的idea下面的bin目录下面有2个文件 : 一个是idea64.exe.vmoptions,还有一个是idea.exe.vmoptions(如上图篮框)。 
      用记事本打开 分别在最下面一行增加一行:

        -javaagent:F:ideaIntelliJ IDEA 2017.1inJetbrainsCrack-2.10.jar
        “F:ideaIntelliJ IDEA 2017.1inJetbrainsCrack-2.10.jar”是对应你的JetbrainsCrack-2.10.jar的位置。

      3.重启,填写注册码(到2099年到期) 
        重启一下软件,在进入出现有active code选择界面的时候,随便输入什么都可以,比如 123 
      能够进入应用界面则表示安装破解成功。

      idea for mac 破解方法 :

        Mac 版 idea 没有idea64.exe.vmoptions,idea.exe.vmoptions 这两个文件 只有idea.vmoptions 文件

      

       找到IntelliJ IDEA 2017安装位置,添加如下代码:

      -javaagent:/Applications/IntelliJ IDEA.app/Contents/bin/JetbrainsCrack-2.10.jar

      破解原文地址:http://idea.lanyus.com

     

    MAVEN的安装及配置

    安装、配置及使用,点击进入查看

     

     在编译器中的应用

    打开IDEA,新建一个Maven项目,

    在默认打开的pom.xml中添加我们需要的SeleniumtestNG

    selenium-java
    testng


    添加完成以后,idea会在右下角提示你是否需要自动安装pom配置的jar包,为了方便,当然需要了 -enable
    那么安装完这些就完成了么,显然是没有,selenium3,不同于2的地方就是火狐浏览器也需要单独加载驱动了

    各浏览器驱动下载链接

    然后将我们下载好的驱动,放到你的文件夹中,推荐命名driver,方便辨识。
    同样,windows用户也可以直接将下载好的驱动扔到你的 C:WindowsSystem32,若是64位系统,还需要扔到 C:WindowsSysWOW64

    实例代码如下,点击展开查看:
    (说明:1.用户名和密码用你自己的;2.如果驱动在指定的文件夹里,代码中可以不用配置驱动位置)
     1 import org.openqa.selenium.By;
     2 import org.openqa.selenium.WebDriver;
     3 import org.openqa.selenium.chrome.ChromeDriver;
     4 import org.testng.Assert;
     5 import org.testng.annotations.AfterClass;
     6 import org.testng.annotations.BeforeClass;
     7 import org.testng.annotations.Test;
     8 
     9 /**
    10  * 类说明
    11  *
    12  * @author iceb
    13  * @version $Id: SeTest.java, v0.1 2017/6/28.17:19 Exp $
    14  */
    15 
    16 public class SeTest {
    17 
    18     @BeforeClass
    19     public void beforeClass() {
    20         System.out.println("用例前执行打印本句!");
    21         System.out.println("每条Test用例是互不相干的");
    22         System.out.println("用例开始执行…………");
    23     }
    24 
    25     @AfterClass
    26     public void afterClass(){
    27         System.out.println("用例结束后运行");
    28     }
    29     @Test
    30     public void actions() {
    31         //设置驱动所在位置
    32         System.setProperty("webdriver.chrome.driver", "D:\fortest\drivers\chromedriver.exe");
    33         //引用火狐浏览器驱动
    34         WebDriver driver = new ChromeDriver();
    35         //打开禅道界面
    36         driver.get("http://www.zentao.net/user-login.html");
    37         //以下元素使用css格式 -cssSelector
    38         //输入账号
    39         driver.findElement(By.cssSelector("#account")).sendKeys("baidutest01x");
    40         //输入密码
    41         driver.findElement(By.cssSelector("#password")).sendKeys("pswd111");
    42         //点击登录
    43         driver.findElement(By.id("#submit")).click();
    44 
    45         //抓取成功登录后的用户名信息
    46         String text = driver.findElement(By.cssSelector("#siteNav > a:nth-child(4)")).getText();
    47         //断言-校验是否登录成功
    48         Assert.assertEquals(text,"懵");
    49 
    50         try {
    51             //页面等待
    52             Thread.sleep(300);
    53         } catch (InterruptedException e) {
    54             e.printStackTrace();
    55         }
    56         //关闭浏览器进程及驱动
    57         driver.close();
    58 
    59     }
    60 
    61 }
    View Code
    
    
     


    以上,我们就安装完成了这个测试的基础环境。
    推荐大家先去学习css和xpath,以及js,可以方便帮助我们了解前端代码的元素定位!不是只会xpath就行了,要取方便的来用。

    那么另一个问题,大家也经常不知道如何去定位,以及定位到以后怎么确定我找的对不对呢?来,实例教学,往下看!
    打开浏览器,输入被测试了不知道多少遍的百度首页……,按F12,展开开发者模式~

    1. 使用xpath 定位Web Element

    
    

    在console 输入:$x("")

    
    

    
    

    2. 使用CSS selector定位web Element

    
    

    在console 里输入:$("")

    
    

    3. 执行js

    window.alert("")

    
    

    
    

    4.执行jQuery

    
    
    window.getComputedStyle(document.getElementById("su"),null).getPropertyValue("background")
    
    

    
    
    以上动图教程转载:http://www.cnblogs.com/tobecrazy/ 
    
    
    用例一定要有断言,即-实际结果和预期结果的对比!

    OK,本文介绍到此为止!转摘记得注明出处~
  • 相关阅读:
    Atitit.struts2体系结构大总结
    Atitit.hibernate体系结构大总结
    Atitit. 最佳实践 QA----降低cpu占有率--cpu占用太高怎么办
    Atitit.软件GUI按钮与仪表盘(01)--js区-----js格式化的使用
    Atitit.软件控件and仪表盘(23)--多媒体子系统--视频输出切换控制cvbs av s-video Ypbpr pal ntsc
    Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode
    Atitit.软件按钮与仪表盘(13)--全文索引操作--db数据库子系统mssql2008
    Atitit.软件GUI按钮与仪表盘(01)--报警系统--
    Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php
    Atitit.软件仪表盘(0)--软件的子系统体系说明
  • 原文地址:https://www.cnblogs.com/iceb/p/7111878.html
Copyright © 2011-2022 走看看