import unittest
import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import unittest, time, re,datetime,os,sys
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def test_search_in_python_org(self):
driver = self.driver
driver.get("http://50.16.204.251/")
inputElement = driver.find_element_by_id("username")
inputElement.send_keys("moozee")
time.sleep(1)
inputElement1 = driver.find_element_by_id("password")
inputElement1.send_keys("KARFAGEN")
inputElement1.click()
inputElement2 = driver.find_element_by_id("ext-gen31")
inputElement2.click()
time.sleep(15)
i=0
while (i==0):
try:
if driver.find_element_by_id("ext-gen162"):
time.sleep(3)
inputElement4 = driver.find_element_by_id("ext-gen162")
inputElement4.click()
if self.driver.find_element_by_id("ext-comp-1004"):
element = driver.find_element_by_id("ext-comp-1004");
element.click()
print "Pop-up has been closed."
print "You're succesfully logged on =)"
i=1
break
else: self.fail("time out");
break
else: self.fail("SILENCE!!! I KILL U!! O.O");
except:
if self.driver.find_element_by_id("ext-comp-1004"):
element = driver.find_element_by_id("ext-comp-1004")
element.click()
print "You're succesfully logged on without pop-up window =P"
else: self.fail("time out");
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
вложенный цикл
Автор moozee, 20 фев 2012 12:09
Сообщений в теме: 5
#1
Отправлено 20 февраля 2012 - 12:09
Помогите пожалуйста, во вложенном цикле for в тесте необходимо сделать ряд условий: а именно 1- проверка наличия всплывающего окна, при его наличии мы его закрываем и проверям наличие переменной в окне, следом закрываем браузер. в противном случае просто проверяем наличие переменной и тоже закрываем браузер.привожу код, работающий верно, но не закрывает браузер. где допустил ошибку?
#2
Отправлено 20 февраля 2012 - 13:07
Поправьте отступы в коде. Нифига не понятно.
#3
Отправлено 20 февраля 2012 - 13:15
исправил отступы.. мне просто легче было ориентироваться так..Поправьте отступы в коде. Нифига не понятно.
#4
Отправлено 20 февраля 2012 - 14:54
А def в середине не лишний?
На первый взгляд, получается, что если нет фейлов, первый цикл заканчивается нормально, без break, и начинается второй.
...
def tearDown(self):
self.driver.close()
...
def tearDown(self):
self.driver.close()На первый взгляд, получается, что если нет фейлов, первый цикл заканчивается нормально, без break, и начинается второй.
#5
Отправлено 22 февраля 2012 - 06:42
Он завершает цикл, закрывает тест, но не закрывается браузер, остается окно браузера с обновленной страницей. не пойму, что не так..
#6
Отправлено 22 февраля 2012 - 09:21
...
class PythonOrgSearch(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
...
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
Вся беда в отступах. Метод tearDown у Вас не принадлежит к тесту и поэтому не выполняется. Добавьте отступ и будет Вам счастье.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных

