从另一个 python 文件执行 selenium 测试用例

use*_*969 3 python selenium remote-execution selenium-webdriver

我正在尝试从 python 文件执行 selenium 测试用例。我知道可以使用 python 的子进程模块来完成 - 但我想探索调用测试用例函数的可能性。

这是我的代码

chrome_settings_test.py

from selenium import w ebdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
import os, shutil, sys

from selenium.webdriver.chrome.options import Options
from selenium import webdriver

class SeleniumException(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)


    #self.driver = nested_selenium.driver
        self.base_url = "https://www.google.co.in/"
        self.verificationErrors = []

    def test_selenium_exception(self):
        driver = self.driver
        driver.get(self.base_url + "/")
        driver.find_element_by_id("gbqfq").clear()
        driver.find_element_by_id("gbqfq").send_keys("Check this out")

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

selenium_fnexec.py

import chrome_settings_test

print "going to call"
chrome_settings_test.unittest.main() #or
#chrome_settings_test.unittest.setUp()
Run Code Online (Sandbox Code Playgroud)

use*_*969 5

这做到了

import chrome_settings_test
import unittest

unittest.main(module=chrome_settings_test)
Run Code Online (Sandbox Code Playgroud)

感谢 santiycr https://gist.github.com/4274570