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
}