用于ios自动化测试的KIF - 如何了解测试的顺序

时间:2015-09-05 02:54:26

标签: ios kif

KIF测试按字母顺序执行,但如果我有多个文件怎么办?我想在一个序列中运行所有自动化测试,可以这样做吗?

在单个文件中,这是正确的:

    #t:hover{
    text-decoration: none;    
    font-family: Verdana;
    text-decoration: none;
    color:#FF0000;
}

然而,让我们说我有MainScreenTest.m,然后是SecondScreenTest.m,然后是ThirdScreenTest.m,我运行整个测试套件。我怎么知道哪一个先运行?我试过只运行一个文件但可以同时多个工作吗?

1 个答案:

答案 0 :(得分:2)

KIF也会按字母顺序运行文件。所以它会是这样的:

TestFileA
 -(void)testA
 -(void)testE
 -(void)testR
TestFileB
 -(void)testB
 -(void)testC
 -(void)testE

等等

你并没有问过这个问题,但为了防止你需要知道:所有的测试都应该是独立的,这样测试运行的顺序并不重要。这就是为什么它们按字母顺序运行的原因。因此,例如,每个测试应该返回到它启动时所处的屏幕,以便下一个测试可以从该屏幕运行。

在我的项目中有一个登录,然后还有标签栏。这就是我设置的方法(这是sudo代码,请不要复制和粘贴任何代码):

TestA
 -(void)beforeAll{login, & tapTabBarA} <- This happens once
 -(void)beforeEach{ } <- Anything in here would happen before every test
 -(void)afterEach{tapTabBarA} <- This happens after every test
 -(void)afterAll{logout} <- This happens once
 -(void)testSomethingA1
 -(void)testSomethingA2

TestB
 -(void)beforeAll{login, & tapTabBarB}
 -(void)beforeEach{ }
 -(void)afterEach{tapTabBarB}
 -(void)afterAll{logout}
 -(void)testSomethingB1
 -(void)testSomethingB2

这样,如果testSomethingA1失败,testSomethingA2将能够运行,因为它是从正确的视图开始的(在本例中是TabBarA的根视图)。类似地,如果TestA失败,TestB仍然会运行,因为即使失败,第二次运行也将从正确的位置开始(在这种情况下是登录视图控制器)。希望这有帮助!