确定我正在尝试使用selenium在网站上进行数据驱动测试: 主类代码是:
from a_folder.abc_file import userJourney
from a_folder.a1_file import contact
@ddt
class testScenario(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.driver = webdriver.Chrome(path)
def test_main_page(arg1, arg2):
if arg1 == 'yes':
return userJourney(arg1, arg2)
if arg 2 == 'no':
return contact(arg1, arg2)
@classmethod
def tearDownClass(cls):
cls.driver.close()
参数从csv文件传入
userJourney()和contact()函数从外部文件导入
我遇到的问题是arg1和arg2都可以同时为true,所以我希望执行两个函数(userJouney和contact),但测试只执行一个函数,然后直接进入tearDownClass函数。关于我缺少的任何想法?
abc_file.py就像是
def userJourney(arg1, arg2):
# Find element and click
提前致谢
答案 0 :(得分:2)
只有一种方法会被执行,因为您正在使用' return'在这两种情况下。因此,如果arg1 =='是',则会执行userJourney函数,之后test_main_page将退出并将控制权返回给调用者,因为您使用了' return'关键字在调用userJourney之前。下一个案例将不会被执行,因为此时方法已完成。
你应该删除' return'两种情况下的关键字。我不确定你想在这里测试什么,但这是另一回事。