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

Фотография

Проблемы с тестированием календаря


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

#1 Alena*

Alena*

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

  • Members
  • Pip
  • 50 сообщений
  • ФИО:Алена Бартош
  • Город:Винница

Отправлено 04 июля 2012 - 07:55

Необходимо протестировать правильность работы календаря на сайте http://hotels24.ua/.
Суть: Зайти на сайт; ввести в блоке поиск город - Киев; дата заезда - завтрешние число; дата выезда - послезавтрешние число; нажать на кнопку "Поиск".
Есть тест
package com.example.tests;

import com.thoughtworks.selenium.Selenium;
import com.thoughtworks.selenium.SeleneseTestCase;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;

public class Untitled extends SeleneseTestCase {
	@Before
	public void setUp() throws Exception {
		WebDriver driver = new FirefoxDriver();
		String baseUrl = "http://hotels24.ua/";
		selenium = new WebDriverBackedSelenium(driver, baseUrl);
	}

	@Test
	public void testUntitled() throws Exception {
		selenium.open("/");
		selenium.type("id=search_city", "Киев");
		selenium.click("css=li.DropMenuItem.autocompleter-selected");
		selenium.click("xpath=(//button[@id='button0'])[2]");
		selenium.click("css=td.valid.hover");
		selenium.click("id=submit_main");
		selenium.waitForPageToLoad("30000");
	}

	@After
	public void tearDown() throws Exception {
		selenium.stop();
	}
}
Eclipse выдает ошибку not found в строке
selenium.click("css=td.valid.hover");
Но в данном случае я привязывалась к конкретному числу (дата заезда- 05.06, дата выезда - 06.06).
Подскажите, пожалуйста, как сделать так что бы дата менялась автоматически и как исправить данную ошибку.
  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 06 июля 2012 - 06:32

Но в данном случае я привязывалась к конкретному числу (дата заезда- 05.06, дата выезда - 06.06).
Подскажите, пожалуйста, как сделать так что бы дата менялась автоматически и как исправить данную ошибку.


public static String getFormatDate(int n){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, n);
String date = new SimpleDateFormat("dd.MM.yyyy").format(cal.getTime());
return date;
}


n - кол-во дней с текущей даты

т.е. чтобы получить завтрашнюю дату надо вызвать метод таким образом:
getFormatDate(1);
1-т.к. завтра
2- послезавтра
10- дата через 10 дней и т.п.



Код в вашем случае будет таким:

selenium.type("Ваш локатор", getFormatDate(1));
  • 1

#3 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 897 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 06 июля 2012 - 06:40

Если у вас вопросы по Selenium создавайте их в подфоруме по Selenium
http://software-test...orum/forum/129/
так вам быстрее будут помогать :)
  • 0

#4 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 25 июля 2012 - 12:27

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

Тут проблема такая же как в соседней теме:
selenium.click("css=td.valid.hover");
Класс hover не нужен. В любом случае selenium.click("css=td.valid") не приведет к выбору завтрашнего числа и послезавтрашнего. Тут нужно что-то придумывать, может способ user12 подойдет.
  • 0

#5 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 26 июля 2012 - 12:15

Кстати можно легко определить завтрашнюю и послезавтрашнюю даты, не прибегая к дополнительным средствам.
IWebElement date = driver.FindElements(By.CssSelector("td.valid")); //получаем список элементов, которыми являются валидные даты
date[1].Click(); //кликаем по второму элементу, то есть завтрашней дате.

Послезавтра соответственно будет date[2].Click(); но по идее послезавтра подставляется автоматически.

На данном сайт, правда возможны проблемы с тем, что последняя дата запоминается, но это уже другая история...
  • 1


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

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