Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Европейский стиль - тестирование поля для ввода чисел.



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Европейский стиль - тестирование поля для ввода чисел.
2014-07-04 14:40

Добрый день!

Подскажите кто в курсе, что за стиль такой, европейский?

 

Число вида 1.234.567,89 называют таковым. Как оно должно обрабатываться в полях ,  для ввода дробных чисел?



Смена пароля на сайте - fail
2014-07-04 15:35

Начал изучать Java и Selenium WedDriver. Появились первые сложности. Пытаюсь написать тест для смены пароля, но не могу отправить форму. Форма просто обновляется.Помогите пожалуйста.

 

Код выкладываю.

Сайт komus.ru

Login = "123451234@yandex.ru" и Pass = "qwerty123" рабочие - от тестового аккаунта.

 

package login;


import java.util.List;


import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;


public class login1  {
    public static void main(String[] args) {


        WebDriver driver = new FirefoxDriver();


        driver.get("http://www.komus.ru/myoffice/login");
         //login
         WebElement element = driver.findElement(By.cssSelector("div.t0_block_shadow_2 > #email"));
         element.clear();
         element.sendKeys("123451234@yandex.ru");
         WebElement element1 =  driver.findElement(By.id("js-pass"));
         element1.clear();
         element1.sendKeys("qwerty123");
         WebElement element2 =  driver.findElement(By.xpath("(//input[@name='login'])[2]"));
         element2.click();
         //Сhange password
         WebElement element3 = driver.findElement(By.linkText("Смена пароля"));
         element3.click();
         driver.findElement(By.xpath("(//input[@name='password_old'])[1]")).clear();
         driver.findElement(By.xpath("(//input[@name='password_old'])[1]")).sendKeys("qwerty123");
         driver.findElement(By.xpath("(//input[@name='password'])[1]")).clear();
         driver.findElement(By.xpath("(//input[@name='password'])[1]")).sendKeys("qwerty1234");
         driver.findElement(By.xpath("(//input[@name='password_check'])[1]")).clear();
         WebElement mat = driver.findElement(By.xpath("(//input[@name='password_check'])[1]"));
         mat.sendKeys("qwerty1234");
         
         
         WebElement element4 = driver.findElement(By.xpath("(//input[@value='Продолжить'])"));
         element4.submit();
         //element4.click();
         
    }
}


Умеете ли вы программировать?
2014-07-04 16:38
Пятничный опрос общественного мнения. Не ради холивара, а просто для статистики и определения общего настроения в сообществе тестировщиков.

Если умеете программировать -- расскажите в комментариях, если не секрет, где чаще пригождается это умение -- в автоматизации тестов, в решении каких-то инфраструктурных задач, может быть просто для себя что-то пописываете на досуге, или где-то ещё?

TFS как настроть?
2014-07-04 17:50

Доброго всем дня!!!

Использую VS2013, на сайте visualstudio.cpm проект создан.

Недавно только начал работать с TFS. Есть несколько вопросов, может кто подскажет

С созданием проекта, добавлением кода на сервер, созданием и добавлением пользователей проблем не возникло.

Все пользователи кто добавлен в проект - проект видят.

но есть вопросы такого плана:

 

1. Если создавать баг или таск - то не все статусы доступны

2. Как настроить так, что если ты закрываешь баг или таск, от он попадает только одному чеовеку.

3. Нет возможности отмечать времени

 

Может это настройки VS2013 или все таки это настройки на сайте в ЛК проекта

буду очень Вам признателен за подсказку!!!

Спасибо

 



Борьба со StaleElementReferenceException
2014-07-05 01:06

Коллеги, посоветуйте что-нибудь хорошее :)

Дело вот какое. Браузер IE8, приложение построено на совершенно безумном фреймворке, элементы появляются и исчезают без всякого предупреждения и видимой внешней необходимости. :) Пока что мне удавалось это как-то побеждать, но сейчас как-будто в тупике. Есть у меня табличка с текстом. Мне нужно её представить в виде коллекции объектов. Каждый из объектов собирается из строки в этой таблице, ячейка строки - то или иное свойство объекта. 

Задача изначально решалась двумя циклами с использованием двух коллекций WebElement (строчки и ячейки внутри каждой строчки), т.е. традиционно. Но пока драйвер ползал внутри одной строчки, ссылка на следующую устаревала, из-за чего пришлось повторять поиск каждой отдельной ячейки по полному xpath (см. ниже метод целиком), Да, xpath получается длинноватый, но что делать, такой роскоши, как статические id в приложении не предусмотрено.



public List<Actor> getActors() {
		List<Actor> actors = new ArrayList<Actor>();
		List<WebElement> rows = driver.findElements(By.xpath("//div[contains(@onscroll,'bcgServicesLG_body') and @class='gridBody']/div[1]/table//tr"));
		 
	   int  count = rows.size();
	         
	         for (int i=1; i<=count; i++) {
	         WebElement elem =  driver.findElement(By.xpath("//div[contains(@onscroll,'bcgServicesLG_body') and @class='gridBody']/div[1]/table//tr["+i+"]"));
	         List<WebElement> props = elem.findElements(By.xpath("./td"));
	         int pcount = props.size();
	 	         
	         List<String> properties  = new ArrayList<String>();
	         for (int k=1; k<=pcount; k++) {
	           	      	 properties.add(driver.findElement(By.xpath("//div[contains(@onscroll,'bcgServicesLG_body') and @class='gridBody']/div[1]/table//tr["+i+"]/td["+k+"]")).getText().trim());
	            }
	         boolean isOn = properties.get(3).equals("включена");
	         Actor a = new Actor(properties.get(1), properties.get(2), properties.get(4), properties.get(6), isOn);
	         a.setErrorMessage(properties.get(5));
                        actors.add(a);
	         }

Да, я знаю, что вот так вот нельзя: "div[1]", но в данном случае никуда не деться. Локаторы тут оптимизации не поддаются.  

 

Я знаю, что IE не очень любит длинные xpath, но он все равно меня удивил. 

 

Вот в этом месте: 



 properties.add(driver.findElement(By.xpath("//div[contains(@onscroll,'bcgServicesLG_body') and @class='gridBody']/div[1]/table//tr["+i+"]/td["+k+"]")).getText().trim());

то на одной то на другой итерации цикла происходит то самое StaleElementReferenceException. Видать аккурат после того как элемент найден и до того, как мы успели из него текст извлечь.

Выходит, только мы элемент ухватили, идентификатор запомнили, а его уже и след простыл. 

 

Конечно, поскольку это происходит с вероятностью процентов 10-20 для каждого конкретного элемента, то можно отлавливать эксепшн и повторять поиск опять. Глядишь, потихоньку и пробьемся. Но такое решение кажется мне упадническим, и я берегу его на самый крайний случай.

 

Заранее спасибо за любые идеи.



© 2010 | Software-Testing.Ru


В избранное