当前位置: 首页 > 面试题库 >

pythonselenium多个测试用例

皇甫飞宇
2023-03-14
问题内容

我在python中有以下代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from unittestzero import Assert
from selenium.webdriver.support.ui import WebDriverWait
from selenium.common.exceptions import ElementNotVisibleException
import unittest, time, re

class HomePageTest(unittest.TestCase):
    expected_title="  some title here "
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "https://somewebsite.com"
        self.verificationErrors = []

    def test_home_page(self):
        driver=self.driver
        driver.get(self.base_url)
        print "test some things here"




    def test_whatever(self):
        print "test some more things here"

    def tearDown(self):
        self.driver.quit()


if __name__ == "__main__":
    unittest.main()

我的问题是在test_home_page函数之后,firefox实例关闭并为下一个test_whatever函数再次打开。我该怎么做,以便所有测试用例都从同一firefox实例执行。


问题答案:

在以下位置初始化firefox驱动程序__init__

class HomePageTest(unittest.TestCase):
    def __init__(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "https://somewebsite.com"
        self.verificationErrors = []

    ...

    def tearDown(self):
        self.driver.quit()


 类似资料:
  • 问题内容: 我在python中有以下代码 我的问题是在test_home_page函数之后,firefox实例关闭并为下一个test_whatever函数再次打开。我该怎么做,以便所有测试用例都从同一firefox实例执行。 问题答案: 在以下位置初始化firefox驱动程序:

  • 问题内容: 我用python与selenium结合编写了一个脚本,以从其着陆页中抓取不同文章的链接,并通过跟踪引向其内页的url最终获得每个文章的标题。尽管我在这里解析的内容是静态内容,但我还是使用了selenium来查看它在多处理中的工作方式。 但是,我的意图是使用多处理进行抓取。到目前为止,我知道selenium不支持多处理,但似乎我错了。 我的问题:当使用多处理运行selenium时,如何减

  • 问题内容: 我尝试在exe文件中构建我的pythonselenium测试,并在许多机器上运行它,以使测试独立于环境。但是结果 .exe文件找不到seleniumwebdriver。如何在 .exe文件中包含所有selenium依赖关系?也许还有其他方法吗?是否可以制作虚拟环境并进行分发? 问题答案: 我假设您正在使用py2exe生成exe。您需要在setup.py文件中指定Selenium Web

  • 我在scala上,我有多个针对不同类(testsuites)的测试文件,每一个都使用testcontainers(来自同一脚本的init)。 当我启动项目中的所有测试时,所有测试都失败了(由于testContainers导致与数据库的连接出现问题)。 当我分别启动测试时,所有的测试都成功了。 有没有办法为多个测试文件(testsuites)只启动一个容器?似乎只对同一文件中的测试起作用。 @Mat

  • 我的自动化测试有一些问题。我的EclipseIDE中大约有50个测试用例。所有测试用例都在不同的类中。另外,我还有一个基类,它包含@beforeclass和@afterclass。在@beforeclass中,浏览器打开,URL打开,网站URL打开,然后执行登录过程。然后我的测试用例工作。它们都以@Test注释开始。我使用TestNG套件将它们连接起来。基类:我的基类。java类MyBaseCla

  • 我正在从事一个相当大的项目,其中包括一组自定义JavaFX组件。对于每个需要重用的自定义组件,我已经开始使用JemmyFX和JUnit编写一组自动化测试。在开发过程中,我从Eclipse Juno内部运行这些。 事实证明,一次运行整个测试套件很困难。这个问题似乎源于这样一个事实,因为我想测试多个组件,所以理想情况下,我会为每个组件运行不同的应用程序(以便在一个组件上执行的测试不会影响其他测试)。

  • 我目前正在使用testng selenium来自动化我的测试,我有以下场景: 我需要从excel文件中读取数据,转换对象中的每一行,并为每一行运行一个测试。我试图使用annotation@DataProvider返回一个对象数组,但是它只能返回迭代器和对象[]。是否有任何变通方法可用于从数据提供程序返回客户机对象数组?我尝试了以下代码,但它只打印来自Client2的数据: 编辑1:客户类别: 在控

  • 我的actor运行在默认的akka调度程序上,然后调用一个返回Future的方法。我配置了不同的executioncontexts让所有的futures运行(因为它们是阻塞的(由于db调用),并且让actordispatcher只专用于非阻塞actors。想知道这段代码是否可以使用Akka testkit进行测试(继续使用两个执行上下文等)?如果是的话,那么配置测试的方法是什么,让Actor运行在