Здравствуйте, уважаемые участники АТ! Я новичок в автоматизации тестирования. Столкнулся тут с такой проблемой: при запуске тестов из PyCharm всё проходит отлично, но если начать сборку в jenkins - валятся ошибки. При всём при том, браузер не запускается, но тут, как я уже понял нужна установка selenium-server-standalone. Подскажите, в чем может быть проблема?
Покажите лог ошибок.
Много неизвестных факторов.
Что это за файл, который вы запускаете
Какой браузер, если хром - установен ли хромдрайвер
Если юниттест, может файл необходимо запускать как модуль.
Что за ошибки валятся
и т д
Надо больше инфы
Прошу прощения, но тест лога огромен. Есть ли способ выложить его сюда файлом?
Так весь лог не нужен.
Глазками пробежитесь - найдете основные моменты.
Но сначала ответьте на вопросы выше от Виталия.
Файл test_5LoginPassTest.py представляет собой маленький юниттест на проверку правильности введения логина/пароля пользователя.
import time
import unittest
global str
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Firefox()
driver.get("http://test.000.ru/")
driver.maximize_window()
wait = WebDriverWait(driver, 10)
class ASeleniumLogin(unittest.TestCase):
def test_1Login(self):
assert "Login" in driver.title
_ = wait.until(EC.element_to_be_clickable((By.ID, 'LoginForm_username')))
elem = driver.find_element_by_id("LoginForm_username")
elem.click()
elem = driver.find_element_by_id("LoginForm_password")
elem.click()
elem.send_keys(Keys.RETURN)
def test_2NoSendLogPass(self):
assert "Login" in driver.title
ErrTextLogin = driver.find_element_by_id('LoginForm_username_em_').text == 'Логин'
ErrTextPassw = driver.find_element_by_id('LoginForm_password_em_').text == 'Пароль'
time.sleep(4)
def test_3SendIncorrectLogPass(self):
assert "Login" in driver.title
_ = wait.until(EC.element_to_be_clickable((By.ID, 'LoginForm_username')))
elem = driver.find_element_by_id("LoginForm_username")
elem.send_keys('123')
elem = driver.find_element_by_id("LoginForm_password")
elem.send_keys('123')
elem.send_keys(Keys.RETURN)
time.sleep(3)
ErrMsg = driver.find_element_by_id('LoginForm_password_em_').text == 'Неправильно указан логин или пароль'
if __name__ == '__main__':
unittest.main()
Браузер - firefox.
Ошибки в Jenkins говорят о том, что он пытается запустить все автотесты, хотя я, вроде, указал, что запускать только один тест:
python -m unittest test_5LoginPassTest
Большое спасибо Вам!
теперь всё правильно
Пожалуйста )
Рад помочь