gpt4 book ai didi

python Selenium : How to reuse a class from another class

转载 作者:行者123 更新时间:2023-12-05 07:36:03 26 4
gpt4 key购买 nike

我是 Python 和 selenium 的新手。我需要编写一个可以在我的测试用例中重用的登录模块。这是我的 2 个文件。我需要帮助来调用登录模块,以便浏览器启动并且用户可以登录。然后第二个模块启动,测试用例开始(在同一个浏览器中)。我在 2 个单独的文件中编写了 2 个类。我的代码如下:

我的登录.py文件

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.common.exceptions import NoSuchElementException
import unittest
class myLoginclass(unittest.TestCase):
@classmethod
def test_TC_1_login_page(self):
self.driver = webdriver.Firefox()
self.driver.get(http://www.gmail.com)
self.driver.find_element_by_xpath(".//*[@id='name-group']/input").send_keys("HELLO")
self.driver.find_element_by_xpath(".//*[@id='password-group']/input").send_keys("WORLD")
self.driver.find_element_by_id("loginButton").click()

if __name__ == '__main__':
unittest.main(failfast=True, exit=False)

myorder.py 文件:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.common.exceptions import NoSuchElementException
import unittest
from mylogin import myLoginclass
class myorderclass(unittest.TestCase):
@classmethod
def test_TC_2_orderProcess(self):
self.driver.find_element_by_xpath("".//*[@id='aoTkt']/div/div")).click()
self.driver.find_element_by_xpath(".//*[@id='presales']/input").click()
self.driver.find_element_by_link_text("DISPATCH").click()
self.driver.find_element_by_id("submitButton").click()

if __name__ == '__main__':
unittest.main(failfast=True, exit=False)

最佳答案

使用类继承。根据您的用例,使用 setUp() 或 setUpClass() 调用登录函数。

from mylogin import myLoginclass

class myorderclass(myLoginclass):
def setUp(self):
self.test_TC_1_login_page()

Unittest setUp/tearDown for several tests

关于 python Selenium : How to reuse a class from another class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49288730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com