`
文章列表
在国际化测试中,时间问题应该被重视。 问题发生的步骤和时间都应该被详细记录,尝试在第二天,第三天的同一时刻和下一周的同一天同一时刻去重现。
Critical - 数据关联导致的错误
1. preserve-order设为ture,methods执行顺序f3,f1,f2 <test name="TestSuite" preserve-order="true"> <classes> <class name="com.testng.annotations.test.ClassName"> <methods> <include name="f3"></include> <inc ...
TestNG uses xml file to organize testcases. Suppose we have two testcases: TestNg.java and TestNgClone.java, so prepare demo.xml (you can find it under test-xml folder) such as: <suite verbose="10" name="demo" annotations="JDK" time-out="1800000"> ...
括号需要转义, 输入文件名时只需要输入前几字符,然后按TAB键会自补全文件名。这样出来的文件名是没问题的,会自动把转义加上的

TestNG忽略测试

@Test(enabled = false)禁用此测试案例。 创建一个Java类 /* * This class prints the given message on console. */ public class MessageUtil { private String message; //Constructor //@param message to be printed public MessageUtil(String message){ this.message = message; } // p ...
testng.xml中有<suite>根标签。它描述了一个测试套件,这反过来又是由多个<test>区段组成。 下表列出了所有的<suite>可接受合法属性。 属性 描述name 此套件的名称。这是一个强制性的属性。verbose 这个运行级别或冗长。parallel 由TestNG 运行不同的线程来运行此套件。thread-count 使用的线程数,如果启用并行模式(忽略其他方式)。annotations 在测试中使用注释的类型。time-out 默认的超时时间,将用于本次测试中发现的所有测试方法。 <?xml version=" ...

TestNG注解

@BeforeSuite 注解的方法将只运行一次,运行在<Suite>前。 @AfterSuite 注解的方法将只运行一次,运行在<Suite>后。 @BeforeClass 注解的方法将只运行一次,运行在当前类中的所有方法前。 @AfterClass 注解的方法将只运行一次,运行在当前类中的所有方法后。 @BeforeTest 注解的方法将被运行在每个 <test>标签前。 @AfterTest 注解的方法将被运行在每个 <test>标签后。 @BeforeGroups 注解的方法将被运行在每个 <group>标签前。 ...
@DataProvider 这个注解只有一个字符串属性:它的名字。 如果不提供名称,将会自动默认使用方法的名称。该方法返回一个对象数组。 1. 使用@DataProvider的简单例子: public class TestParameterDataProvider { @Test(dataProvider = "provideNumbers") public void test(int number, int expected) { Assert.assertEquals(number + 10, expected); } @DataPro ...
1. 在testng.xml文件中定义简单参数,然后在源文件中引用这些参数。 创建测试案例类 创建一个Java测试类 ParameterizedTest1.java. 测试方法parameterTest()添加到测试类。此方法需要一个字符串作为输入参数。 添加注释 @Parameters("myName") 到此方法。该参数将被传递testng.xml,在下一步我们将看到一个值。 public class ParameterizedTest1 { @Test @Parameters("myName") public v ...
对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作。     Select select = new Select(webElement); selectAge.selectByIndex(2);//通过下拉列表中选项的索引选中第二项 selectShen.selectByValue("上海");//通过下拉列表中的选项的value属性选中"上海"这一项 selectTown.selectByVisibleText("浦东");//通过下拉列表中选项的可见文本选中"浦 ...
简单说明: 测试代码中在需要测试的方法前加上注释符,例如: package com.yiban.test; public class test2 {   @Parameters({ "first-name" }) //参数   @Test(groups={"g1","g2"}) //组名   public void test001() throws Exception { ...

Bug描述

1.摘要主要用于指明Bug发生的地点、在什么条件下发生什么现象。 2.描述字段: 1)描述Bug发生的地点、所用账号类型、操作步骤、期望值、实际值, 如果Bug与浏览器相关,需尽量描述更多的环境参数,如操作系统等。 2) 一个Bug不会包含多个问题,会尽量单一化,便于跟踪处理及统计 3) 对于很难描述清楚的Bug需截屏作为附件上传,并在描述中写明参照附件。 4)尽量减少重现的步骤以达到用最少的步骤来重现问题; 5)不要使用完全的大写形式,那样会让人感觉象控诉。不要使用感叹号或其他表现个人感情色彩的词语或符号。 6)不要使用含糊的词语(例如,好像,似乎)来描述发现的现象。 7)在BUG提交前,测试 ...
1、使用webdriver封装的API函数截图 //截屏功能,并以当前时间戳为文件名保存在指定目录下 public void takeScreenShot(){ String dir_name = "screenshot"; //定义一个截图存放的目录名,此处为当前目录的screenshot目录下 //判断目录是否存在 if(!(new File(dir_name).isDirectory())){ //如果不存在则新建目录 new File(dir_name).mkdir(); } SimpleDateFormat sdf ...
一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段时间,本文将教各位实现在执行完自动化脚本后自动生成一份美化报告 package ts.dw.logic; import java.io.BufferedWriter; import java.io.FileWriter; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; public class HTMLL ...
Global site tag (gtag.js) - Google Analytics