Selenium webdriver 其中一个@Test代码块没有';不执行

Selenium webdriver 其中一个@Test代码块没有';不执行,selenium-webdriver,testng,Selenium Webdriver,Testng,有人能告诉我为什么会发生这种情况,我需要采取什么步骤来执行@testblocks我不确定TestNG框架是否能保证方法顺序 如果希望方法顺序类似于仅在某些测试运行(并标记为通过)后运行测试,则可以使用dependsOnMethods或dependsOnGroups 例如: 如果要定义所选的方法顺序,且测试不应依赖于其他测试,则可以使用方法拦截器,而不是dependecyOn*(方法、组) methodinterceptors提供将作为参数之一运行的测试方法列表,然后您可以根据需要重新安排 参考


有人能告诉我为什么会发生这种情况,我需要采取什么步骤来执行@testblocks

我不确定TestNG框架是否能保证方法顺序

如果希望方法顺序类似于仅在某些测试运行(并标记为通过)后运行测试,则可以使用
dependsOnMethods
dependsOnGroups

例如:


如果要定义所选的方法顺序,且测试不应依赖于其他测试,则可以使用
方法拦截器,而不是
dependecyOn*
(方法、组)

methodinterceptors
提供将作为参数之一运行的测试方法列表,然后您可以根据需要重新安排

参考资料:


  • 您没有设置任何测试优先级,这就是为什么! 这很容易做到,只需将优先级粘贴到@Test标记旁边

    @Test (priority=1)
    public void ToTestApproval(){
    //do some stuff
    }
    
    @Test (priority=2)
    public void ToCheckRequestDecline(){
    //do some more stuff
    }
    
    如上所述,您可以通过使用dependsOnMethods和dependsonGroup进一步细化所需的行为

    另外,如果这不起作用,那么可能是@Test标签本身造成的。请仔细检查是否使用TestNG注释而不是Junit


    祝你好运

    请在问题中添加代码,而不是图像参考。还可以共享testng结果摘要。@Naveen,这是我收到WebDriverException的错误:未知错误:元素在点(277271)处不可单击。其他元素将收到单击:错误跟踪是否与此处提出的问题不同?该错误表明您正在单击父元素,而不是子元素或类似元素。因此,在查找元素时,应该使用定位器更加具体。如果我删除了tocheckRequestDecend代码块,那么前一个(即)tocheckaproval代码块就正确执行了。只有当我试图同时运行这两个测试时,它才没有执行…不确定问题出在哪里。@Naveen…顺便说一句,刚刚尝试使用dependson方法运行代码,两个测试都得到了正确执行。我尝试使用dependson方法,效果非常好。将通过设置优先级进行检查。感谢您的建议
    @Test (priority=1)
    public void ToTestApproval(){
    //do some stuff
    }
    
    @Test (priority=2)
    public void ToCheckRequestDecline(){
    //do some more stuff
    }