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

Coder7524

Регистрация: 16 июн 2015
Offline Активность: 16 сен 2018 07:12
-----

Мои темы

Eclipse+Selenium+TestNG ошибка с Asserts

21 августа 2015 - 14:37

Уважаемые форумчане,

Подскажите, в чем может быть причина вылета и сбоев при выполнении строки "Assert.assertEquals(expectedTitle, actualTitle);", если закавычить эту строку тест проходит нормально.

Предполагал, что причина в наименовании пути org.testng.Assert - Assert менял на Asserts, но программа не хочет тогда работать. Такой вывод я делал из наименования методов в jar файле, видно на скриншоте, что там написно Asserts.

 

Скриншот текста прикрепил.

Текст теста следующий:

package TestNG;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;


public class DemoTestNG {
      public WebDriver driver = new FirefoxDriver();
      String appUrl = "https://accounts.google.com";


@Test
public void gmailLogin() {
            // launch the firefox browser and open the application url
             driver.get("https://accounts.google.com");
             
// maximize the browser window
             driver.manage().window().maximize();
             
// declare and initialize the variable to store the expected title of the webpage.
             String expectedTitle = "Вход - Google Аккаунты";
             
// fetch the title of the web page and save it into a string variable
             String actualTitle = driver.getTitle();
             Assert.assertEquals(expectedTitle, actualTitle);
             
// enter a valid username in the email textbox
             WebElement username = driver.findElement(By.id("Email"));
             username.clear();
             username.sendKeys("XXXXXXXXXXX");   //добавтье свой майл


    // click on the Next button
             WebElement NextButton = driver.findElement(By.id("next"));
             NextButton.click();


             
// enter a valid password in the password textbox
             WebElement password = driver.findElement(By.id("Passwd"));
             password.clear();
             password.sendKeys("ХХХХХХХХ");  //добавьте свой пароль
             
          // click on the Sign in button
             WebElement SignInButton = driver.findElement(By.id("signIn"));
             SignInButton.click();
             
// close the web browser
             driver.close();
}
}

 


Selenium WebDriver и Selenium IDE

16 июля 2015 - 14:45

Правильно ли я понимаю, чтобы программировать тесты для веб-приложений на языке Java или C# - нужно установить к уже установленному Selenium IDE, + еще и Selenium Webdriver и Selenium Server? Куда именно и как установить этот Webdriver подскажите, пожалуйста. Также и по Selenium Server, подскажите, "как и с чем его едят", куда ставить и как. Или где прочитать про эти действия. Такие выводы я сделал из текста на сайте selenium2.ru:

"...почему вам может потребоваться Selenium Server... И наконец, он вам понадобится, если вы используете WebDriver поверх Selenium (реализация WebDriver API, использующая технологию Selenium 1 для взаимодействия с браузером)."

 

Смогу ли я писать скрипты для Selenium из Visual Studio и запускать их из VS?

 


Разные версии тестируемого приложения. Как запустить старые тесты?

10 июля 2015 - 13:58

Добрый день,

Вопрос в следующем - как запустить старые тесты для новой версии тестируемого приложения?

Старый exe-шник немного отличается по наименованию от нового.

Для нового exe-шника, скопировал от старого проекта NameMapping и переименовал в NameMapping под новое имя - старое имя предыдущей версии. Теперь все пути к объектам с новым именем для нового exe-шника.

Только все равно нет правильного запуска, в связи с тем что именах объекта одно имя стало "Имя"+"1".

А после перезагрузки компьютера, вроде стало просто "имя", как и должно быть. Но в графах MappedName текущего активного объекта - пусто. И опять нет запуска теста.

 

Подскажите, пожалуйста, как вообще переходить на тестирование каждой новой версии тестируемой программы?

(Предположение) Неужели очистить NameMapping и прописывать все объекты заново?


Время Авто-ожидания в keyword и в Script

01 июля 2015 - 11:09

Добрый день,

Можно ли как-то преобразовать Script тест в Keyword тест?

 

Наоборот Keyword в Script, такая функция есть про нее я знаю.

Зачем мне переводить Script в Keyword тест - нужно сделать авто-ожидание для определенного действия (определенной строчки в Script). В Keyword тесте эта функция есть (по правому нажатию кнопки на нужной строчке) - можно установить время ожидания для нужного действия.

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

Если установить время авто-ожидания для всего проекта в целом (в свойствах проекта), то воспроизведение теста идет слишком медленно, так как каждое действие с этим авто-ожиданием. (Или просто у меня медленный компьютер? По техническим характеристикам он удовлетворяет рекомендованным требованиям.)

 

Как установить время авто-ожидания для строчки Script?

 


Overlapping window. Делфи программа, окно и всплывающий календарь

30 июня 2015 - 15:26

Во время воспроизведения теста. 
Происходит следующее: выбор кнопки вызова списка всплывающего календаря (файл kalendar2.jpg). Потом возникает ошибка (Overlapping window) "Перекрытие окна". Потом ошибка: "была попытка выполнить действие в точке (194, 334), которая перекрывается другим окном". (there was an attempt to perform an action at the point (194, 334), which is overlapped by another window)
Дополнительная информация от TestComplete: 
"Tested object:
Aliases.Программа.TPopupCalendar.TPanel.TLocCalendar
(Sys.Process('Программа').Window('TPopupCalendar', '', 1).Window('TPanel', '', 1).Window('TLocCalendar', '', 1)) ".
На форме Делфи два календаря (вызываемых кнопкой) один отрабатывает совершенно нормально, со вторым возникает описанная ошибка. Еще TestComplete пишет, что ожидается активация окна (Waiting until the window is activated).
Другими словами, во всплывающем окне невозможно выбрать опцию, и оно судя по всему неактивно. (рисунок календарь-активность2.jpg).
Предполагаю что не происходит щелчка по опции.
 
Может причина в том что переменная календаря применяется для обоих календарей:  
Для первого календаря:
locCalendar := Программа.TPopupCalendar.TPanel.TLocCalendar;
locCalendar.Click(30, 76);
TDBDateEdit.Click(71, 12);
 
Для второго:
  locCalendar.Click(37, 81);
  TDBDateEdit.Click(73, 10);
 
 
Как решить эту проблему?