Перейти к содержимому

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

вложенный цикл


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 moozee

moozee

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Хомяк Виктор

Отправлено 20 февраля 2012 - 12:09

Помогите пожалуйста, во вложенном цикле for в тесте необходимо сделать ряд условий: а именно 1- проверка наличия всплывающего окна, при его наличии мы его закрываем и проверям наличие переменной в окне, следом закрываем браузер. в противном случае просто проверяем наличие переменной и тоже закрываем браузер.привожу код, работающий верно, но не закрывает браузер. где допустил ошибку?
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()

  • 0

#2 point80

point80

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Дормидонтов Семён

Отправлено 20 февраля 2012 - 13:07

Поправьте отступы в коде. Нифига не понятно.
  • 0

#3 moozee

moozee

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Хомяк Виктор

Отправлено 20 февраля 2012 - 13:15

Поправьте отступы в коде. Нифига не понятно.

исправил отступы.. мне просто легче было ориентироваться так..
  • 0

#4 checo

checo

    Опытный участник

  • Members
  • PipPipPipPip
  • 400 сообщений
  • Город:Н.Новгород

Отправлено 20 февраля 2012 - 14:54

А def в середине не лишний?

...
      def tearDown(self):
      self.driver.close()
...    
def tearDown(self):
    self.driver.close()


На первый взгляд, получается, что если нет фейлов, первый цикл заканчивается нормально, без break, и начинается второй.
  • 0

#5 moozee

moozee

    Новый участник

  • Members
  • Pip
  • 58 сообщений
  • ФИО:Хомяк Виктор

Отправлено 22 февраля 2012 - 06:42

Он завершает цикл, закрывает тест, но не закрывается браузер, остается окно браузера с обновленной страницей. не пойму, что не так..
  • 0

#6 point80

point80

    Новый участник

  • Members
  • Pip
  • 19 сообщений
  • ФИО:Дормидонтов Семён

Отправлено 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 у Вас не принадлежит к тесту и поэтому не выполняется. Добавьте отступ и будет Вам счастье.
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале