Chrome 可以在同一个selenium会话中顺序运行多个python脚本吗?

ttp71kqs  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(103)

我正在尝试UI自动化,我想知道是否有可能在同一个会话中按顺序从多个Python脚本运行测试?
例如:
脚本1:登录测试
脚本2:测试点击按钮
脚本3:测试到注销
而不是让一个脚本在一个脚本中完成所有三个测试。
我尝试创建一个BAT文件,它将逐个启动每个脚本,但每次执行都会打开一个新的浏览器窗口。
注:当然我的实际代码要复杂得多,并且有更多的测试用例:)我只是想知道它是否可能。看起来很奇怪。不知道如何用谷歌能理解的方式说出来,哈哈。

rqcrx0a6

rqcrx0a61#

有一个名为SeleniumBase的Python Selenium框架可以做到这一点。
pip install -U seleniumbase之后,您可以在以下脚本上运行pytest --rs,以便在测试之间重用浏览器会话。(如果直接调用python,在顶部添加了一个特殊部分,可以自动调用pytest和这些参数):

from seleniumbase import BaseCase

if __name__ == "__main__":
    from pytest import main
    main([__file__, "--rs"])

class MyTestClass(BaseCase):
    def test_1(self):
        self.open("https://google.com")
        self.sleep(1)

    def test_2(self):
        self.open("https://facebook.com")
        self.sleep(1)

    def test_3(self):
        self.open("https://seleniumbase.io")
        self.sleep(1)

    def test_4(self):
        self.open("https://seleniumbase.com")
        self.sleep(1)

字符串
--rs选项将使所有测试重用相同的浏览器会话。要通过常规selenium访问driver,请使用self.driver

相关问题