当前位置: 首页 > 知识库问答 >
问题:

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

叶景龙
2023-03-14

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

NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:”//*[@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()

共有1个答案

樊烨烨
2023-03-14

当您执行单元测试时,您必须确保特定测试已准备好“环境”以执行测试。

测试的执行不符合顺序,因此:

test_add_subscriber_iden_and_activate()

可以在

test_login()

如果您想在每次测试之前和之后执行某些内容,可以使用setUp()tearDown()方法;如果您想在测试之前和之后执行某些内容,可以使用setUpClass()tearDownClass()方法所有的测试。

这里是文档。

 类似资料:
  • 我是新来的。如果问题重复,很抱歉,但我没有找到解决方法。 我有一个问题--我无法使用Xpath定位元素,但我使用ID定位器定位它没有问题。见附件截图。这一问题不仅针对这一要素,而且也针对所有要素。看来Xpath根本不起作用。 我正在使用Appium 7.3.0(试用过不同版本),UIAutomator2,方法是在模拟器上设置,Android 8.1功能。 null 此外,我在需要的地方使用了和,因

  • 我无法使用XPATH和CSS找到元素

  • 有人能告诉我为什么下面的代码不返回表情符号属性吗... 但是下面的代码将返回一个表情符号属性... 我知道我已经将滚动添加到第二个代码中,所以它会查看整个页面并返回我要查找的元素。但除此之外,它们或多或少是相同的。我可以每隔几秒钟运行第一个代码,它永远找不到表情符号元素。它会发现代码和optCriteria没有问题,并将它们作为tradeCriteria打印在一起,但即使它在那里,它也永远找不到表

  • 我尝试了xpath和检查,如下所示

  • 我一直在为这个selenium项目苦苦挣扎,一直在寻找与这个问题略有关联的老参考资料或帖子。我承认我不熟悉xpath和selenium,所以希望它可以像修复语法一样简单。我正在使用python 3.6。卢本图19.10上的9,如果这有什么区别的话。 我试图访问的html元素: 我尝试过的代码: 尝试不同的XPath时出现的错误消息: 我检查了火狐来尝试捕获xpath,显示为: 虽然我还不确定如何调