精华内容
下载资源
问答
  • 使用 Mavenselenium 项目的基本设置,能够通过 Xvfb 在 Firefox 中运行测试 项目设置在 按照所述无头运行 - 包括 Vagrant box 运行无头测试 启动 vagrant,将 ssh 放入框内: vagrant up && vagrant ssh 启动 ...
  • xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0 ... <name>SeleniumJava Maven Webapp <url>http://maven.apache.org</url>
  • Maven 导入 selenium

    2020-08-14 15:38:32
    <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.44.0</version> </dependency>
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>2.44.0</version>
            </dependency>
    
    展开全文
  • 今天,我想帮助您更好地管理自动GUI测试(Selenium)。 在过去,我已经看到人们处理此问题的许多不同方式。 有些人只是用Selenium-IDE编写普通HTML TestCases,将其存储在HDD上的某个位置,并在需要时手动运行。 ...

    今天,我想帮助您更好地管理自动GUI测试(Selenium)。 在过去,我已经看到人们处理此问题的许多不同方式。 有些人只是用Selenium-IDE编写普通HTML TestCases,将其存储在HDD上的某个位置,并在需要时手动运行。 其他人甚至不使用Selenium-IDE。 他们为Example编写纯Java,并使用JUnit自动执行。 我今天的解决方案介于两者之间。

    前提

    • 我想要用Selenium-IDE创建的纯HTML TestCases。 这样一来,几乎没有编程技能的人仍然可以创建它们。
    • 我希望这些GUI测试在构建过程中自动运行,因此我的CI工具可以在发生错误时通知我。
    • 由于测试随源一起增长,因此我还希望项目存储库中的Versioncontrol下的所有TestCases。
    • 我希望付出最少的努力,取得最高的结果。 因此,我不想从HTML TestCases中导出JUnit测试,因为它可能是重复的,并且我想坚持DRY原则。

    首先,我在我的项目中为Selenium-Tests创建一个文件夹。

    资料夹结构

    文件夹结构

    TestSuite示例

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
        <title>Test Suite</title>
    </head>
    <body>
    <table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium">
        <tbody>
        <tr>
            <td><b>Test Suite</b></td>
        </tr>
        <tr>
            <td><a href="./SomeTest1.html">SomeTest1</a></td>
        </tr>
        <tr>
            <td><a href="./SomeTest2.html">SomeTest2</a></td>
        </tr>
        </tbody>
    </table>
    </body>
    </html>

    示例测试

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head profile="http://selenium-ide.openqa.org/profiles/test-case">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link rel="selenium.base" href=""/>
        <title>SomeTest1.html</title>
    </head>
    <body>
    <table cellpadding="1" cellspacing="1" border="1">
        <thead>
        <tr>
            <td rowspan="1" colspan="3">SomeTest1</td>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>open</td>
            <td>/</td>
            <td></td>
        </tr>
        <tr>
            <td>waitForElementPresent</td>
            <td>//div[@id='someId']</td>
            <td></td>
        </tr>
        <tr>
            <td>click</td>
            <td>css=button.create</td>
            <td></td>
        </tr>
        <!-- Some Steps -->
        <tr>
            <td>assertText</td>
            <td>
                //div[@id='someId']
            </td>
            <td>${expectedText}</td>
        </tr>
        </tbody>
    </table>
    </body>
    </html>

    设置Web服务器

    所以我有我的TestSuite。 但是我该如何运行它们? 最重要的是,它应该在Maven Build Process中运行,因此它也可以在Jenkins-CI或其他任何版本上运行。 在针对实际运行的WebApp进行测试时,这是每个定义的IntegrationTest。 在Maven中,我们有机会在集成测试阶段中运行此类测试。 如果您想了解有关Maven Build生命周期及其各个阶段的更多信息,请查看this 。 因此,我们需要某种WebServer来运行我们的WebApp,否则测试将无法进行。 WebServer应该在集成测试阶段之前启动,然后再停止。 例如,我们可以使用Tomcat7Jetty 。 在此示例中,我将使用tomcat7-maven-plugin。 我将pom.xml配置为启动Tomcat7 pre-integration-test

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0</version>
        <executions>
            <execution>
                <id>tomcat-run</id>
                <goals>
                    <goal>run-war-only</goal>
                </goals>
                <phase>pre-integration-test</phase>
                <configuration>
                    <port>8080</port>
                    <fork>true</fork>
                </configuration>
            </execution>
            <execution>
                <id>tomcat-shutdown</id>
                <goals>
                    <goal>shutdown</goal>
                </goals>
                <phase>post-integration-test</phase>
            </execution>
        </executions>
    </plugin>

    如果在CI服务器上运行多个项目,则可以考虑为每个项目使用不同的端口号。

    最后:运行测试

    最后但并非最不重要的一点是,我们需要运行测试。 幸运的是,有可用的selenium-maven-plugin可以完成这项工作。

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>selenium-maven-plugin</artifactId>
        <version>2.3</version>
        <configuration>
            <browser>*firefox</browser>
            <suite>src/test/selenium/TestSuite.html</suite>
            <startURL>http://localhost:8080</startURL>
        </configuration>
        <executions>
            <execution>
                <id>run-selenium-tests</id>
                <phase>integration-test</phase>
                <goals>
                    <goal>selenese</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

    现在,每当我们在控制台中执行mvn clean verify或什至mvn clean install时,都会运行测试并将报告存储在目标目录中。 这也将由您的CI工具完成。

    结论

    我们确实有完整干净的安装程序。

    • 我们有一个地方可以存储我们的测试,
    • 它们在Sourcecode和Version控件内
    • 它们可以由CI-Tools自动运行
    • 甚至非开发人员也可以添加新的TestCases

    顺便说一句:如果某些事情没有按预期进行,请不要放弃。 Selenium似乎有点小问题,有时您必须掏点钱才能解决问题。 但它确实有效,我想通了。

    参考: Be Be a Better Developer博客上的JCG合作伙伴 Gregor Riegler 提供的MavenSelenium测试自动化

    翻译自: https://www.javacodegeeks.com/2013/07/selenium-test-automation-with-maven.html

    展开全文
  • 1.在百度中输入:maven repository(仓库) 2.在仓库搜索栏输入selenium 3.点击进去 **特别备注:添加testNG和log4j 的依赖都是同样的方法。

    1.在百度中输入:maven repository(仓库)
    2.在仓库搜索栏输入selenium
    3.点击进去

    在这里插入图片描述
    在这里插入图片描述
    **特别备注:添加testNG和log4j 的依赖都是同样的方法。

    展开全文
  • 第一部分: Selenium的安装和使用(火狐) 第一步:在火狐中添加附组插件 -selenium 第二步:打开插件,打开一个新的测试 第三步:给该测试命名 第四步:输入测试链接 第五步:录制自己的登录操作,完成后点击...

    第一部分: Selenium的安装和使用(火狐)

    第一步:在火狐中添加附组插件 -selenium
    在这里插入图片描述第二步:打开插件,打开一个新的测试
    在这里插入图片描述
    第三步:给该测试命名
    在这里插入图片描述
    第四步:输入测试链接
    在这里插入图片描述
    第五步:录制自己的登录操作,完成后点击停止按钮,并命名保存
    在这里插入图片描述在这里插入图片描述
    第六步:可以点击播放,也可以导出代码
    点击播放,就能看到自己刚才的所有操作过程,速度很快
    在这里插入图片描述

    保存selenium可识别的文件
    在这里插入图片描述
    在这里插入图片描述
    导出自己可参考的代码

    在这里插入图片描述选择导出的语言,下面三个选项的解释
    包括源跟踪代码注释
    将步骤描述作为单独的注释包括进来
    导出用于Selenium网格
    在这里插入图片描述
    在这里插入图片描述

    第二部分:在程序如何利用导出的java代码

    第一步:首先导入依赖

    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-java</artifactId>
       <version>3.141.59</version>
    </dependency>
    

    第二步:下载对应的浏览器驱动(谷歌为例),选择对应的版本,下载地址

    火狐下载地址:火狐下载地址
    在这里插入图片描述
    第三步:解压放在 C:\Program Files (x86)\Google\Chrome\Application 下

    第四步:将导出的代码进行改造
    首先在src/main/java/ 的任意一个包下,和导出的参考代码命名方式相同
    导出代码
    在这里插入图片描述
    新建的类
    在这里插入图片描述
    将代码复制过去后进行改造
    源代码,不能运行缺少驱动,一定要主要导入的包的问题,引入包的时候别错
    需要Junit这个依赖

     <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
     </dependency>
    
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    import org.openqa.selenium.By;
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.JavascriptExecutor;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public class Login22Test {
        private WebDriver driver;
        private Map<String, Object> vars;
        JavascriptExecutor js;
        @Before
        public void setUp() {
            driver = new FirefoxDriver();
            js = (JavascriptExecutor) driver;
            vars = new HashMap<String, Object>();
        }
        @After
        public void tearDown() {
            driver.quit();
        }
        @Test
        public void login22() {
            // Test name: login22
            // Step # | name | target | value | comment
            // 1 | open | /mass/to_login |  |
            driver.get("http://localhost:8080/mass/to_login");
            // 2 | setWindowSize | 1563x886 |  |
            driver.manage().window().setSize(new Dimension(1563, 886));
            // 3 | click | id=sn |  |
            driver.findElement(By.id("sn")).click();
            // 4 | type | id=sn | 20170406101022 |
            driver.findElement(By.id("sn")).sendKeys("20170406101022");
            // 5 | click | id=password |  |
            driver.findElement(By.id("password")).click();
            // 6 | type | id=password | 000000 |
            driver.findElement(By.id("password")).sendKeys("000000");
            // 7 | click | css=.button |  |
            driver.findElement(By.cssSelector(".button")).click();
            // 8 | close |  |  |
            driver.close();
        }
    }
    

    进行改造
    在这里插入图片描述
    这部分改为谷歌驱动,因为是火狐导出,谷歌测试,因此需要改为谷歌的
    在这里插入图片描述
    点击运行,或更改账号密码也是可以的
    在这里插入图片描述结果
    在这里插入图片描述
    到此简单的自动化测试登录模块就完成了。

    展开全文
  • 如何使用idea创建maven项目步骤 我这里使用的是谷歌的浏览器(版本是:68)。 各种版本的chromedriver下载: http://chromedriver.storage.googleapis.com/index.html selenium之 chromedr...
  • java maven项目添加selenium

    千次阅读 2018-06-23 21:04:15
    还是太low了,但是能跑了,,已经创建了maven项目,导入selenium 包导入selenium包出现这个就可以了,虽然不是很对,但是能跑,先这样,再优化吧
  • seleniummaven的使用

    千次阅读 2018-08-31 14:02:00
    一、maven的下载、解压以及环境变量配置 1、下载maven: 官网下载地址:http://maven.apache.org/download.cgi 在Files下面下载对应的maven版本(官网的是最新版本), 下载apache-maven-3.5.2-bin.zip就...
  • 一、Maven下载 可以从http://maven.apache.org/download.cgi去下载,找到如下页面,如下图,进行下载 二、方式一:通过下载相应selenium和testNG的jar包进行导入 1)selenium各版本jar包下载链接:...
  • selenium+maven+idea打开百度样例

    千次阅读 2018-07-23 11:23:26
    一个通过selenium+maven+idea打开百度 实现自动打开火狐浏览器 百度网站的小例子 其中已经包含了 需要添加 打开火狐浏览器的驱动程序 搭建: 项目架构: 1、创建名字为seleniumHelloworld 的maven 工程 ...
  • 首先从Maven开始讲起; 1.前提条件:我使用的开发工具是eclipse,win10系统、安装好JDK; 2.下载Maven地址:https://maven.apache.org/(maven官网) 2.1 步骤1:点击Download按钮,进入下载页面, 步骤2:...
  • 1、注意事项:配置这个之前必须先下载并安装JDK,配置JDK的环境变量JAVA_HOME,否则maven将无法使用 2、配置环境变量 3、验证maven是否安装成功 (3)eclipse下配置maven 1、eclipse下安装maven 2、添加maven安装...
  • 1.使用使用IntelliJ IDEA新建完Maven工程后;现在要在pom.xml中添加测试的jar包依赖 maven仓库地址:https://mvnrepository.com/ 在这里搜索需要的jar包即可 比如找到selenium-java,找到需要的版本如3.12.0,把jar...
  • maven引入selenium jar包为例: 1.度娘上搜索maven selenium,选中第一个 2.选中需要的版本 3.拷贝到pom.xml文件
  • selenium介绍和环境搭建 ... 1.seleniumSelenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefo
  • 1. 在Jenkins中配置Maven与Git1)在系统管理>管理插件>可选插件 页面分别下载Git plugin 与 Maven Integration plugin插件,安装完成后再已安装插件中可以看到2)在 Global Tool Configuration 中配置 JDK,...
  • selenium_maven高级实战

    2018-08-31 11:30:36
    Maven在自动化中可以帮助我们更好的管理我们的工程,今天就来仔细学习下它的用法; 1.一个重要的插件:Maven surefire-plugin 用Maven的这个插件的目的主要是为了:用Maven直接调用testng的xml文件实现测试脚本的...
  • maven项目中引入testng、selenium,在pom.xml中添加 <dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.11&...
  • jdk、maven安装及配置这里直接跳过,网上方法很多,直接进入主题:1.新建一个Maven工程,步骤如下:2.选择Maven Project,如下图:3.默认选择第二项,直接next,如图所示:4.选择maven-archetype-quickstart,点击...
  • Maven+java+selenium构建

    2020-07-08 11:04:23
    1、创建项目 (1) New–Project–MavenMaven ...2、引入selenium框架 https://mvnrepository.com/ (1)找到对应的selenium Java版本 (2)复制配置信息 (3)编辑pom.xml (4)添加标签,并将复制的配置信息粘贴到
  • Maven 是一款能力出众的项目管理工具,可以对 Java 项目进行构建、依赖管理。也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金...
  • 项目中出现了输入框中输入2.3,取值为2.29的问题,造成录入数据准确,最后发现是JS精度丢失的问题,手工输入小数位耗时又耗力,决定使用Selenium+Maven+chromedriver搭建自动化测试。 搭建步骤: 一、使用...
  • 创建项目进行配置 首先创建maven项目,在...然后在maven自带pom.xml文件中引入合适的selenium包 下载包导入包 之后我们需要在selenium官网https://www.seleniumhq.org/download/ 中下载合适版本的包,下载完成后.
  • 之前文章中,我已经介绍了Java 基础环境的搭建,本篇将在Java 基础环境的基础上完成maven和testNG集成,从而完成selenium环境搭建。如果不清楚Java基础环境搭建,可参考:...
  • Selenium--Maven--TestNG

    2018-10-27 23:29:26
    Pom.xml文件引入Selenium所需包 TestNG 简介: 是一个强大的测试框架,设计灵感来源于junit,但优于junit,它提供了很强大的注解,便于我们对case的各种操作。 TestNG 给我提供了啥: 提供强大的注释,方便测试...
  • selenium及依赖jar包(java)

    热门讨论 2015-07-21 15:43:27
    selenium及所有依赖jar包(java),selenium,java,模拟浏览器,模拟登录
  • Selenium+java+maven

    2022-01-14 20:08:01
    引入selenium框架 基本元素定位: 元素操作API WebDriver相关API 三大等待 特殊元素定位与操作 Selenium家族 selenium包括:Selenium IDE、web Driver、Selenium Grid Selenium IDE:是FireFox的扩展插件,...
  • 在做一个爬虫的程序,用到了selenium,但是个人电脑上chrome的版本是52,测试小哥给了个chrome的driver,然后是selenium的standard-alone的jar包。无奈这个jar包maven下载不了,只能加入到build path里面。 坑爹的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,196
精华内容 478
关键字:

maven引入selenium