Reputation: 11
I have got a little problem with tests based on python + PhantoJS. I have tests like this (about 90 tests inside).
import unittest
import os
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
class ceskyflorbal_error_message(unittest.TestCase):
# Test suit for search error messages by css selectors
def setUp(self):
phantomjs_path = "C:\Phantom\phantomjs.exe"
self.driver = webdriver.PhantomJS(executable_path=phantomjs_path, service_log_path=os.path.devnull)
self.driver.set_window_size(1400, 1000)
self.driver.implicitly_wait(1)
def test_error_msg_home(self):
driver = self.driver
driver.get('https://xxxxxxx')
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".no-params-msg")
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".error-render-component")
def test_error_msg_muzi_2(self):
driver = self.driver
driver.get('https://xxxxxx')
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".no-params-msg")
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".error-render-component")
def test_error_msg_muzi_3(self):
driver = self.driver
driver.get('https://xxxxxxx')
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".no-params-msg")
with self.assertRaises(NoSuchElementException):
driver.find_element_by_css_selector(".error-render-component")
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
I need that all tests will be executed in one browser session. Now is creating for each test one new browser session which takes system performance and time. Could you give me any example how to do it? I was searching but nothing worked for me inaf.
Upvotes: 1
Views: 132