只有在使用unittest类时才能找到xpath元素

2024-04-20 03:41:03 发布

您现在位置:Python中文网/ 问答频道 /正文

最奇怪的事情是: 我从一个模块运行一个程序,这个模块从另一个模块调用一些函数。 问题是,相同的代码在使用基本函数时可以完美运行,但第三个函数只有在unittest类内部使用时才会失败,消息如下:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="app_skeleton"]/tbody/tr[6]/td/form/table/tbody/tr[2]/td/table/tbody/tr[2]/td[9]/a"}.

以下是完整的课程:

  from Main_Package.General_Functions.Functions import 
  login,search_by_customer_id,add_subscriber_iden_and_activate,browser

class FirstTest(unittest.TestCase):
  @staticmethod
  def test_login():
     login()

 @staticmethod
 def test_search_by_customer_id():
     search_by_customer_id()

@staticmethod
def test_add_subscriber_iden_and_activate():
    add_subscriber_iden_and_activate()




#login()   ******this is the block of code that will run perfectly without # 
****
#search_by_customer_id()
#add_subscriber_iden_and_activate()


if __name__ == '__main__':
    unittest.main()

Tags: 模块and函数addidsearchbylogin
1条回答
网友
1楼 · 发布于 2024-04-20 03:41:03

当您执行单元测试时,您必须确保特定的测试已经准备好“环境”来执行测试。你知道吗

测试的执行不正常,因此:

test_add_subscriber_iden_and_activate()

可以在

test_login()

如果要在每个测试之前和之后执行某些内容,可以使用方法setUp()tearDown();如果要在所有测试之前和之后执行某些内容,可以使用方法setUpClass()tearDownClass()。你知道吗

Here文档。你知道吗

相关问题 更多 >