最奇怪的事情: 我正在从一个模块运行一个程序,该模块从另一个模块调用一些函数。 问题是相同的代码在使用基本函数时会完美运行,但第三个函数只有在unittest类中使用时才会失败,并带有以下消息:
NoSuchElementException:消息:没有这样的元素:无法找到 元件: { “方法”: “的xpath”, “选择器”: “// * [@ ID =” app_skeleton“] / tbody的/ TR [6] / TD /形式/表/ tbody的/ TR [2] / TD /表/ TBODY / TR [2] / TD [9] /一个“}。
以下是完整的课程:
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()
答案 0 :(得分:0)
执行单元测试时,必须确保特定测试已准备好“环境”以执行测试。
测试的执行不按顺序进行,所以:
test_add_subscriber_iden_and_activate()
可以在
之前执行test_login()
如果您想在每次测试之前和之后执行某些操作,或setUp()
和tearDown()
,则可以使用方法setUpClass()
和tearDownClass()
你想在所有测试之前和之后执行一些事情。
Here文档。