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

时间:2012-12-13 05:22:49

标签: python selenium selenium-webdriver remote-execution

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

这是我的代码

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()

selenium_fnexec.py

import chrome_settings_test

print "going to call"
chrome_settings_test.unittest.main() #or
#chrome_settings_test.unittest.setUp()

2 个答案:

答案 0 :(得分:3)

这样做了

import chrome_settings_test
import unittest

unittest.main(module=chrome_settings_test)

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

答案 1 :(得分:0)

如果您希望能够直接调用它的方法,可以实例化SeleniumException类。

import chrome_settings_test

print "going to call"
my_test = chrome_settings_test.SeleniumException()
my_test.setUp()