- 浏览: 175824 次
- 性别:
- 来自: 河北
-
最新评论
-
wuchunjiesp:
...
Project facet Java version 6.0 is not supported. -
天堂有行:
swanky_yao 写道启动:net start mysql ...
mysql编程常用 -
swanky_yao:
启动:net start mysql中止:$MySQL_HOM ...
mysql编程常用 -
天堂有行:
天堂有行 写道fixsmall 写道Mysql insert ...
mysql编程常用 -
天堂有行:
fixsmall 写道Mysql insert 还有一个 i ...
mysql编程常用
文章列表
软件测试中时区转换容易出问题
- 博客分类:
- 测试
在国际化测试中,时间问题应该被重视。
问题发生的步骤和时间都应该被详细记录,尝试在第二天,第三天的同一时刻和下一周的同一天同一时刻去重现。
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忽略测试
- 博客分类:
- 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>标签
- 博客分类:
- TestNG
testng.xml中有<suite>根标签。它描述了一个测试套件,这反过来又是由多个<test>区段组成。
下表列出了所有的<suite>可接受合法属性。
属性 描述name 此套件的名称。这是一个强制性的属性。verbose 这个运行级别或冗长。parallel 由TestNG 运行不同的线程来运行此套件。thread-count 使用的线程数,如果启用并行模式(忽略其他方式)。annotations 在测试中使用注释的类型。time-out 默认的超时时间,将用于本次测试中发现的所有测试方法。
<?xml version=" ...
@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 ...
使用testng.xml传递参数
- 博客分类:
- TestNG
1. 在testng.xml文件中定义简单参数,然后在源文件中引用这些参数。
创建测试案例类
创建一个Java测试类 ParameterizedTest1.java.
测试方法parameterTest()添加到测试类。此方法需要一个字符串作为输入参数。
添加注释 @Parameters("myName") 到此方法。该参数将被传递testng.xml,在下一步我们将看到一个值。
public class ParameterizedTest1 {
@Test
@Parameters("myName")
public v ...
对下拉框进行操作
- 博客分类:
- Selenium 自动化测试
对下拉框进行操作时首先要定位到这个下拉框,new 一个Selcet对象,然后对它进行操作。
Select select = new Select(webElement);
selectAge.selectByIndex(2);//通过下拉列表中选项的索引选中第二项
selectShen.selectByValue("上海");//通过下拉列表中的选项的value属性选中"上海"这一项
selectTown.selectByVisibleText("浦东");//通过下拉列表中选项的可见文本选中"浦 ...
testng.xml的格式
- 博客分类:
- Selenium 自动化测试
简单说明:
测试代码中在需要测试的方法前加上注释符,例如:
package com.yiban.test;
public class test2 {
@Parameters({ "first-name" }) //参数
@Test(groups={"g1","g2"}) //组名
public void test001() throws Exception {
...
1.摘要主要用于指明Bug发生的地点、在什么条件下发生什么现象。
2.描述字段:
1)描述Bug发生的地点、所用账号类型、操作步骤、期望值、实际值, 如果Bug与浏览器相关,需尽量描述更多的环境参数,如操作系统等。
2) 一个Bug不会包含多个问题,会尽量单一化,便于跟踪处理及统计
3) 对于很难描述清楚的Bug需截屏作为附件上传,并在描述中写明参照附件。
4)尽量减少重现的步骤以达到用最少的步骤来重现问题;
5)不要使用完全的大写形式,那样会让人感觉象控诉。不要使用感叹号或其他表现个人感情色彩的词语或符号。
6)不要使用含糊的词语(例如,好像,似乎)来描述发现的现象。
7)在BUG提交前,测试 ...
截屏功能
- 博客分类:
- Selenium 自动化测试
1、使用webdriver封装的API函数截图
//截屏功能,并以当前时间戳为文件名保存在指定目录下
public void takeScreenShot(){
String dir_name = "screenshot"; //定义一个截图存放的目录名,此处为当前目录的screenshot目录下
//判断目录是否存在
if(!(new File(dir_name).isDirectory())){
//如果不存在则新建目录
new File(dir_name).mkdir();
}
SimpleDateFormat sdf ...
报告生成
- 博客分类:
- Selenium 自动化测试
一般我们写的脚本可能覆盖了较多的测试项,而且可能持续运行了一段时间,本文将教各位实现在执行完自动化脚本后自动生成一份美化报告
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 ...