`

使用Selenium进行前端测试的一点经验

阅读更多
   项目上使用了selenium进行界面的自动化测试,我拿到框架比较老,只能支持FIREFOX3.6的版本,而且不能运行在WIN7的环境上,于是下载了最新的server端和client端.

   下载的地址可以去官网:http://seleniumhq.org/
  

   SERVER端的JAR包名字: selenium-server-standalone-2.28.0.jar
   CLIENT端的JAR包名字: selenium-java-2.28.0.zip


   运行环境包括下面几个文件夹:

   lib    //里面主要放CLIENT端的JAR和它的依赖包,老版本的依赖包很少,新版本的很多
  
   test    //放写好的JAVA类, 里面可以方一个或者多个

   build  //放生成CLASS文件

   report //放跑完的结果

   tools  //放工具等

   build.xml  //ant脚本,编译JAVA文件,生成CLASS,路径等等

   log.txt    //放LOG日志的

   build.bat  //client端的启动

   start-selenium-server.bat  //server端的启动   


   这个运行环境可以将写好的一个或多个JAVA文件编译并运行,模拟测试人员在界面上的各项操作,达到自动化测试的目的,最后可以生成可视化的结果.

   (目前唯一的问题是:不能进行SSL的测试,网上找了一些办法,貌似都不能解决问题,但是估计是和项目的安全证书生成有关联)
  

环境的配置:

1.需要修改下面三个BAT文件里面关于FIREFOX路径的设置

Test Automatics/start-selenium-server.bat
Test Automatics/tools/ start.bat
Test Automatics/tools/selenium-server/start.bat

(Firefox的路径在windowXP和win7下面不一样的)
WindowXP为firefox的安装全路径 如: C:\document and setting\administrator\Mozilla\Firefox\Profiles\rxzej817.default

Win7为参数路径, 如%APPDATA%\Mozilla\Firefox\Profiles\rxzej817.default(在运行里面输入%APPDATA%就可以找到你本地的路径)


2. JAVA_HOME的设置,我就不在这里罗嗦了

3. URL,用户名和密码的设置

   lib\selenium-client-java-driver.jar 我在里面放了一个配置文件LocalConfig.properties里面有URL 用户名和密码的配置, 可以按照袭击的需求修改


项目的运行
先运行start-selenium-server.bat, 得到如下的结果:


再运行同级目录下的build.bat

(每个CASE如果有错误就会在控制台上打出)


错误的查看

log.txt是记录生成LOG的地方


报告的生成

最后会把所有的TEST CASE的结果放在report路径下面一个新建文件夹里面,文件夹的名字是REPORT-{时间戳},进入最里面找到INDE.HTML查看结果



新版和老版的代码区别

老版代码需要继承SeleneseTestCase类,如下:
public class TestLoginSample extends SeleneseTestCase{

   public void setUp() throws Exception {
	
        String url = LocalConfig.get("URL");

	selenium = new DefaultSelenium(LocalConfig.get("DefaultSelenium_Domain"),
		Integer.parseInt(LocalConfig.get("DefaultSelenium_Port")),
				LocalConfig.get("DefaultSelenium_Type"),
				url);
	selenium.start();
   }


新版的代码使用JUNIT,只需要继承TestCase,如下:

public class TestLoginSample extends TestCase {

	Selenium selenium;

	@Before
	public void setUp() throws Exception {

		String url = LocalConfig.get("URL");

		selenium = new DefaultSelenium(
				LocalConfig.get("DefaultSelenium_Domain"),
				Integer.parseInt(LocalConfig.get("DefaultSelenium_Port")),
				LocalConfig.get("DefaultSelenium_Type"), url);
		selenium.start();
	}
......
}


(以前写的代码必须更新了....)
  • 大小: 138.5 KB
分享到:
评论

相关推荐

    【携程】自动化和性能的无缝融合

    2. **测试框架的选择**:选择合适的测试框架,如Selenium、Appium等,这些框架提供了丰富的API和接口,便于实现复杂的测试逻辑。 3. **环境搭建**:为了保证测试的准确性和重复性,需要搭建一个稳定的测试环境。 4. ...

    自动切换浏览网页.zip

    9. **自动化测试框架**:除了Selenium,还有其他自动化测试框架,如Appium(移动应用测试)、Cypress(前端开发测试)等,它们也提供了类似的功能,但针对不同的应用场景。 10. **配置文件**:压缩包中可能包含配置...

    代码 - 副本.zip

    7. **测试**:单元测试(JUnit、Mocha)、集成测试(Jest、Cypress)确保代码质量,自动化测试工具如Selenium可帮助进行端到端测试。 8. **部署与持续集成/持续部署(CI/CD)**:利用Jenkins、Travis CI或GitHub ...

    C#爬取网站数据

    对于这种情况,我们可以借助如Selenium这样的自动化测试工具,它允许我们在C#中模拟浏览器行为,从而获取动态加载的数据。Selenium配合ChromeDriver可以做到这一点: ```csharp using OpenQA.Selenium; using ...

    java作业管理系统设计(源代码).rar

    10. **单元测试与集成测试**:良好的软件工程实践会包含对代码的测试,JUnit和Mockito等工具可以帮助进行单元测试,而Selenium等工具可用于集成测试,确保系统的正确性。 11. **持续集成/持续部署(CI/CD)**:项目...

    java作业管理系统设计(源代码+论文).rar

    8. **单元测试与集成测试**:为了保证代码质量,开发者可能会使用JUnit或Mockito等工具进行单元测试,通过Selenium等进行集成测试,确保各个组件协同工作。 9. **论文撰写**:论文部分将涵盖系统的需求分析、系统...

    学生登录系统

    9. 测试:在系统开发过程中,进行单元测试、集成测试和系统测试以确保其功能正确无误。自动化测试工具,如JUnit或Selenium,可以帮助提高测试效率。 10. 部署与运维:部署学生登录系统到服务器,并确保其稳定运行,...

    Playfully.org:GlassLab的克隆playfully.org回购

    该项目是Playfully.org网站使用Angular.js的前端用户体验。 安装 确保已安装Node.js。 git clone :GlasslabGames / Playfully.org.git cd Playfully.org 须藤npm -g安装grunt-cli业力凉亭 npm安装 凉亭安装 咕...

    angular2-testing

    Protractor用于端到端测试,它与Selenium WebDriver集成,可以模拟用户交互并验证应用的全局行为。 4. **单元测试**: 在Angular 2中,我们可以对组件、服务、管道等进行单元测试。对于组件,我们关注其输入、输出...

    哈哈_中秋祝福_

    10. **测试**:为了确保程序的正常运行,开发者可能进行了单元测试、集成测试和端到端测试,使用JUnit、pytest或Selenium等工具。 由于压缩包中包含“祝福.zip”和“22.zip”两个文件,它们可能是源代码文件、文档...

    veto_system.rar_veto_system _veto投票_自动填写_自动投票

    同时,它可能需要模拟用户行为,比如模拟点击、填写表单等,这些可以通过Selenium等自动化测试工具实现。 "自动投票"则意味着该系统可以连续不断地进行投票,不受IP限制。为了实现这一点,系统可能采用了代理IP池,...

    sitefromscratch

    11. **测试**:JUnit用于单元测试,Selenium等工具进行Web应用的自动化测试。 这个“sitefromscratch”项目可能是逐步讲解如何利用上述技术构建一个完整的Web应用,从设置开发环境、编写第一个"Hello, World!",到...

    14.-Furliana-Novriyanti-Sigiro:PMK PCR信息系统

    使用Selenium进行端到端测试,验证系统的整体行为。 为了实现这样一个系统,开发者需要具备扎实的Java编程基础,理解Web应用的架构模式,熟悉数据库设计和操作,还需要了解Web安全原则和测试方法。此外,良好的团队...

    SelJava-Auto:包含AutomatedWebPages的JS!

    JavaScript,作为一种广泛应用于前端开发的脚本语言,不仅在创建动态网页方面有着强大的功能,而且在自动化测试领域也占据着一席之地。SelJava-Auto充分利用了这一点,通过JavaScript实现对Web页面元素的交互,包括...

    企业QQ版 java 写的源代码

    10. **测试与持续集成**:为了确保软件质量,单元测试(JUnit)、集成测试(Selenium)和自动化构建工具(Maven或Gradle)是必备的。持续集成/持续部署(CI/CD)流程,如Jenkins,能自动化测试和部署过程。 以上...

    School

    8. **测试框架**: JUnit和Mockito可能是用于单元测试的工具,而Selenium或TestNG可能用于进行端到端的功能测试。 9. **持续集成/持续部署(CI/CD)**: 如果项目有自动化构建和部署流程,那么可能会看到Jenkins、...

    艺人

    9. 测试:单元测试、集成测试和端到端测试是确保软件质量的关键步骤,可能会使用JUnit、Mocha、Selenium等工具。 10. 部署和运维:项目可能部署在AWS、Google Cloud或Azure等云平台上,使用Docker容器化技术,配合...

    ArticleRevSys:一个发布和评价科学文章评论的网站

    9. **测试** - 单元测试和集成测试是确保代码质量的重要环节,JUnit、Mockito和Selenium等工具可能会用到。 10. **性能优化** - 使用缓存技术如Redis来提高响应速度,同时可能通过负载均衡和集群部署来处理高并发...

Global site tag (gtag.js) - Google Analytics