Python - 如何从类中调用外部函数然后返回到类

时间:2017-06-20 21:51:01

标签: python class selenium automated-tests

确定我正在尝试使用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

提前致谢

1 个答案:

答案 0 :(得分:2)

只有一种方法会被执行,因为您正在使用' return'在这两种情况下。因此,如果arg1 =='是',则会执行userJourney函数,之后test_main_page将退出并将控制权返回给调用者,因为您使用了' return'关键字在调用userJourney之前。下一个案例将不会被执行,因为此时方法已完成。

你应该删除' return'两种情况下的关键字。我不确定你想在这里测试什么,但这是另一回事。