2016年9月29日星期四

使用浓缩咖啡unibet记录器录制unibet用例



大家好,它让我很高兴与所有人分享 Android Studio 2.2 已启动并作为Android应用unibet仪,为我们推出了非常有用的东西 浓缩咖啡unibet记录仪。 在我们的 浓缩咖啡教程 我们已经看到了如何代码和运行浓缩咖啡unibet案例,我们已经研究了WebViews和Intents的写作案例等等。 

在这篇文章中,我想与您分享关于新推出的Android的浓缩咖啡unibet录像机以及我们如何有效地录制和运行我们的unibet用例。如果您是手动unibet仪而且不舒适,那么您必须学到这一点,因为它非常简单快捷地学习浓缩咖啡的特点。如果您是自动化unibet仪,并且已经使用espresso应该尝试它会降低您的工作负载并帮助您更快的unibet用例开发。

视频教程也可用 -  

 

什么是浓缩咖啡unibet记录仪?

浓咖啡是Android的仪器unibet框架,它允许开发人员和unibet人员编写UIunibet用例以unibet应用程序的功能。 浓咖啡 Test Recorder是Android Studio 2.2中引入的新功能,允许用户手动在设备中执行步骤并添加断言以记录unibet用例。 

浓缩咖啡考试录音机 -
1.允许我们创建基于UI的有效的unibet用例 通过用户交互。
2.我们可以捕获断言和交互,而无需访问应用程序的结构,即可提高执行速度并优化unibet用例。
3.节省大量时间来搜索定位器,然后编写unibet用例。
4.它支持多种断言,制作更可靠的unibet用例。
eSpressounibet记录仪的缺点 -
1.目前不支持录制WebViews交互。
2. 一旦我们完成录制一次,下次录制它就会启动应用程序没有API来控制此类行为。
3.无法为Toast消息记录断言

一步一步录制第一浓咖啡unibet用例 -

先决条件
1. Android Studio 2.2
2. Java 8.
3.为java_home和android_home设置环境变量

移动设备设置
1.转到手机的设置
2.开发人员选项
3.关闭 Windows Animator刻度,过渡动画秤&动画持续时间刻度.



录制UI互动
1. 发射 Android Studio 
2.单击“启动新的Android Studio”项目
3.给申请名称 espressottrecorder.
4.点击 下一页


5.点击 下一页


6.选择 空白活动 然后点击 下一页


7.您的Android项目将被打开
8.去吧 跑步 ->记录浓缩咖啡unibet 


9.选择一个设备,然后单击确定
10.检查你的设备会说 “等待调试器” 在窗口关闭后安装应用程序(请勿单击强制关闭)开始执行移动应用程序的点击和键入事件。


记录断言
1.点击 添加断言
2.它将拍摄设备的屏幕截图并在屏幕上显示。


3. In 编辑断言 部分您可以选择要添加的断言类型。


4.点击 保存断言。
5.然后单击完整的录制以保存unibet用例

保存unibet案例
1.弹出弹出窗口将出现在录制unibet中的活动的名称,您可以编辑名称
2.单击“保存”


3.unibet用例将保存在Android中 - >app->包名称(androidtest) - >TestClassName

运行unibet用例
1.在找到unibet类后,右键单击名称
2.点击 跑步.




学习不是很简单而有趣。在评论部分中编写您的查询和问题,并传播有关新浓缩咖啡unibet记录器的单词以简化工作负载。快乐unibet:-)



2016年9月12日星期一

JUNIT类别

JUnit类别仅适用于JUnit 4.8及以上。在此Java接口中用于制作不同的类别,并在不同类别中添加您的unibet用例。这允许您按照不同类别运行unibet用例。

每当我们创建自动化框架时。我们写下所有unibet用例 覆盖整个应用程序,但在时间执行时,我们意识到我们希望在功能unibet期间运行一些unibet用例,在生产释放期间的用户验收unibet和一些unibet用例时,在这种情况下,您可以分类您的unibet用例并执行每个类别。

让我们看看JUnit类别的一个例子,如下所示 -



public interface FastTests 
{ 
/* category created */
}

public interface SlowTests
 {
 /* category created */
}

public class A {
        @unibet
        public void a() {
                fail();
        }

        @Category(Feature1Tests.class)
        @unibet
        public void b() {
        }
}

@Category({ Feature1Tests.class, Feature2Tests.class })
public class B {
        @unibet
        public void c() {
        }
}

@RunWith(Categories.class)
@IncludeCategory(Feature1Tests.class)
@SuiteClasses({ A.class, B.class })
// Note that Categories is a kind of Suite
public class Feature1TestSuite {
        // Will run A.b and B.c, but not A.a
}

@RunWith(Categories.class)
@IncludeCategory(Feature1Tests.class)
@ExcludeCategory(Feature2Tests.class)
@SuiteClasses({ A.class, B.class })
// Note that Categories is a kind of Suite
public class Feature1TestSuite {
        // Will run A.b, but not A.a or B.c
}

JUnit参数化unibet

JUnitunibet框架允许我们在OUTunibet类中使用参数。要编写参数化unibet用例,unibet类应仅包含一个unibet用例,并且我们可以根据我们的示例中给出的,为其提供多个参数。

通知特定类作为参数化unibet添加注释 
@runwith(参数化.class) 

这些类需要一个静态方法,注释@parameters注释。此方法生成阵列的集合,集合中的每个项目都被归因为数组。我们还可以在公共字段上使用@parameter注释并在unibet中注入unibet值。

让我们了解以下示例以了解如何使用参数化JUnitunibet  -


import static org.junit.Assert.assertEquals;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@runwith(参数化.class)
public class ParameterizedTestUsingConstructor {

    private int num1;
    private int num2;

    public ParameterizedTestUsingConstructor(int p1, int p2) {
        num1 = p1;
        num2 = p2;
    }

    // creates the test data
    @Parameters
    public static Collection<Object[]> data() {
        Object[][] data = new Object[][] { { 1 , 2 }, { 5, 3 }, { 121, 4 } };
        return Arrays.asList(data);
    }


    @Test
    public void testMultiplyException() {
        MyClass tester = new MyClass();
        assertEquals("Result", num1 + num2, tester.add(num1, num2));
    }


    // class to be tested
    class MyClass {
        public int add(int i, int j) {
            return i + j;
        }
    }

}

unibet用例根据配置的数据集执行3次。



用maven安装JUNIT

正如我们所看到的,我们可以使用JUnit与任何Maven项目现在让我们了解如何将其与Maven一起使用。  

考虑你有一个鬃毛项目。然后打开项目的Pom.xml文件并复制以下代码。


<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>

复制代码后,您可以转到命令行并导航到您的项目目录
执行命令  mvn干净MVN编译 并检查构建是否成功,这意味着你很高兴。 

此博客文章适用于使用Maven项目的人。所以我没有添加什么是maven和如何安装maven的细节。

JUnitunibet诉讼和unibet执行顺序


当您有大数字unibet类并且您想要组合并管理它们时,您可以创建unibet套装。执行unibet用例意味着根据指定顺序执行套件内的所有unibet类。

以下示例提供了适合课程的大纲。它包含FirstTestClass和第二个unibet类。您可以根据需要添加尽可能多的unibet类。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({
                FirstTestClass.class,
                SecondTestClass.class,
                ThirdTestClass.class })

public class AllTests {

}   

类中的unibet执行顺序 - JUNIT假定在类内写入的unibet用例和独立,可以随机执行。 但如果您必须在类中定义JUnitunibet用例的流程,那么您可以使用的注释@FixMethodorder。下面使用Class MyTests与unibet用例的Diple Mytests,atest()和ctest(),我们可以根据按照按字母顺序定义按照方法名称升序的执行顺序。

在以下示例中,执行顺序将是  -
1. atest()
2. BTEST()
3. CTEST()



@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyTests {

@unibet
public void BTest()
{
}

@unibet
public void ATest()
{
}

@unibet
public void CTest()
{
}

}

JUNIT断言声明

众所周知,在没有断言的情况下,unibet案例是不完整的。断言意味着检查预期结果匹配实际结果,始终是任何unibet用例的最终步骤。因此JUnitunibet框架为我们提供了以简单有效的方式自动化我们的断言。

JUnit提供了具有一些断言方法的Assert类,我们可以使用写自己的断言语句。允许我们指定具有预期和实际结果的错误消息,以便我们可以理解unibet用例失败的原因。

assert语句将实际结果与预期结果进行比较,如果比较失败,则它会抛出assertionexception。

让我们看到一些常用的断言示例  -

1. asserttrue([消息,]布尔条件) - 检查布尔条件是否为真。
2. assertfalse([消息,]布尔条件) - 检查布尔条件为false。
3.分析([消息,]预期,实际) - unibet两个值是相同的。注意:对于数组,请选中引用而不是阵列的内容。 
4. assertequals([消息,]预期,实际,容忍) - unibet浮动或双值匹配。容差是必须是相同的小数的数量。
4. assertnull([消息,]对象) - 检查对象是否为null。 
 
 
每当您开始编写unibet用例时,您就可以通过键入断言探索更多信息。(CLTR + SPACE)您将看到断言类提供的方法的LIS,您可以使用它们来使您的unibet用例越来越有效。
 
 如果您有任何疑问,那么您可以在评论中提出评论。











2016年9月10日星期六

什么是junit注释?

JUnit注释对于定义执行流程和unibet方法的识别非常有用。这些注释与类和方法一起使用,它为指示其行为的方法和类提供了额外的含义是执行的行为。例如,@Test注释与任何Java方法一起使用,现在Java方法被标识为unibet用例,并且它将作为unibet用例执行,而不是普通的Java方法。类似地,很少有基本junit注释,这是自动化unibet仪非常重要的,并且广泛使用。

考虑以下示例代码示例 -  
以下代码骨架利用基本的JUnit注释。在以下课程中,总共有6种方法,其中2是unibet用例。让我们在有关每个注释的更多详细信息中看到。


Public void TestClass
{

@课前
public void startUp()
{
 your code
}

@前
public void setUpTest()
{
Your Code
}

@unibet
public void firstTest()
{
Your Code
}

@unibet
public void secondTest()
{
Your Code
}

@后
public void teatDownTest()
{
Your Code
}

@下课以后
public void End()
{
Your Code
}

}


@课前  - 在上面的示例中,该注释用于 启动() 方法指示,一旦类开始执行其执行,使用@BeforeClass注释的方法将首先执行。在在课程中执行任何其他方法和unibet用例之前,您要首先执行的任何逻辑,然后添加该逻辑 启动() @BeforeClass注释的方法。

@前 - 任何标有的方法 @Before注释将在每个unibet用例执行之前执行一次。这表示 setuptest() 上面执行的方法将在前两次执行 firsttest()第二秒()。您想要在每个unibet用例之前执行的任何逻辑,例如启动应用程序等我们需要使用@Before注释写入。

@unibet - 此注释定义执行该执行 firsttest()第二秒() 方法作为unibet用例而不是Java类中的方法。

@后 - 任何标有的方法 @After注释将在每个注释后执行一次 unibet案例执行。这表示 Teardowntest() 上面执行的方法 后将执行两次 firsttest()第二秒()。任何逻辑 在每个unibet用例之后,您要执行哪些unibet案例,例如关闭应用程序等,我们需要使用@After注释写入它。
@下课以后 - 在上面的示例中,该注释用于 结尾() method 迹象表明,一旦阶级完成的所有unibet用例都完成执行方法 @AfterClass注释将执行。您想要的任何逻辑 在执行所有unibet用例的执行结束时首先执行 然后类添加那个逻辑 结尾() @AfterClass的方法 Annotation.


根据上图示例完整的执行流 -

1.启动()
2. setuptest()
3. FirstTest()
4. Teardowntest()
5. Setuptest()
6.第二秒()
7. Teardowntest()
8.结束()


如何使用Android Studio配置JUNIT

我们已经看到了如何在Android Studio中安装和创建项目。在启动自动化unibet之前,我们需要使用Android Studio配置JUnitunibet框架。 JUnitunibet框架有助于我们定义执行流程。让我们了解更多关于JUNIT的更多信息。

什么是junit?

JUnit广泛使用unibet框架以及Java编程语言。您可以使用此自动化框架进行单元unibet和UIunibet。它有助于我们使用不同的注释定义代码的执行流程。 JUNIT建立了“第一次unibet然后编码”的构建,这有助于我们提高unibet用例的生产率和代码的稳定性。

JUnitunibet的重要特征 -  

1.它是开源unibet框架,允许用户有效地编写和运行unibet用例。
2.提供各种类型的注释以识别unibet方法。
3.提供不同类型的断言 验证unibet用例执行的结果。
4.它还为unibet跑步者提供有效运行unibet。
它非常简单,因此节省了时间。
6.它提供了以unibet诉讼形式组织unibet用例的方法。
7.它为unibet案例提供了简单而优雅的方式。
8.您可以将JNUIT与Eclipse集成在一起,Android Studio,Maven& Ant

JUnit与Android Studio

1.创建新的Android Studio项目或打开现有项目。
2.转到应用程序 - > Build.gradle.



3.在文件中添加代码行,如下下面截图所示。


4.点击 同步.


5.一旦您获得Buid成功消息,那么您的JUnit Setup就可以使用。