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

220v

Регистрация: 05 мар 2012
Offline Активность: 26 мар 2024 09:47
*****

#165220 Gemini - автоматизируем тест вёрстки

Написано 220v 12 марта 2018 - 18:10

Пользуемся на проекте уже минимум год.

Из проблем, которые обнаружились не только с инструментом, но и на проекте и т.д.:

  • плохо работает с динамическими элементами - приходилось выставлять ожидания и снимать эталонные скриншоты целиком всей видимой части браузера;
  • для того, чтобы запустить тесты на OS Windows пришлось доставать "админский бубен" и не один раз;
  • не удалось запустить тесты в связке gemini + selenium WD (latest) + firefox (> 52 or latest);
  • не нашел нормальную интеграцию с jenkins + browserstack;
  • при снятии эталонных скринов целиком, то в них попадает очень много мелких багов, которые никогда не будут исправлены;
  • почти после каждого релиза продукта, особенно, когда менялась верстка страницы, приходилось обновлять эталоны, а у нас их много (примерно 15-30 мин уходило на обновление в два потока - все зависит от ПК);
  • как и во всех open source есть определенное количество дефектов, которые "мешают" работать.

Часть проблем возможно и не имеют прямой связи с данным инструментом. Для запуска локально тестов очень неплох. В планах запустить тест-драйв аналогов gemini, если дойдут руки.

Вывод: попробовать однозначно.


  • 1


#154603 Selenium + js настройка окружения

Написано 220v 23 сентября 2016 - 09:36

Project:

data:
	- entity: entTextForm.js:
	
			 	this.txt = null;



	- source: srcTextForm.json: 
					[
    						{
        						"formType": "txtForm",
        						"txt": "какой-то текст",
    						}
					]
	- textForm.js:
				в этом файле идет обработка и фильтрация в зависимости от данных entTextForm.js, srcTextForm.json (смотрит на formType и принимает какие-то действия дальше)
				getValueForForms() ...

---------------------------------------------------
page (pageObject):
(Base - это базовый модуль от которого наследуется страница AnyPage, от которой уже наследуются и все остальные согласно структуре сайта)

module.exports = module1;

function module1() {
    Base.apply(this, arguments);
}
util.inherits(module1, Base);


module1.prototype.getWebElement = function() {
    return element(by.css('css_selector'));
};

module1.prototype.getTextForSmth = function() {
    return this.getWebElement().getText();
};

----------------------------------
test:

describe('Общее название теста', function() {

var homePage = new project.page.module1();
var forms = project.data.textForm.getValueForForms();

 it('название проверки', function () {
		do Something;
		expect(homePage.getTextForSmth()).toEqual(forms.txt);
    });
});

Код разработчиков я не могу показать, возможно есть что-то по легче, но я об этом пока не знаю, надеюсь я правильно понял ваш вопрос
P.S. пользуюсь https://github.com/jasmine/jasmine Jasmine в связке с https://github.com/angular/protractor Protractor


  • 1


#154585 Selenium + js настройка окружения

Написано 220v 22 сентября 2016 - 18:18

https://github.com/n...chjs/nightwatch
подробней опишите свою проблему: что делали и что в итоге получилось?

чем не PageObject?
https://github.com/n...lePageObject.js

DSL можно реализовать через json и т.д.

и почему именно javaScript?


  • 1


#141958 Автоматизированное тестирование с помощью скриншотов

Написано 220v 22 июня 2015 - 16:10

Пытаемся к себе внедрить в проект gemini для регрессионного тестирования отображения веб-страниц (Node.js + WebDriver):
https://github.com/g...-testing/gemini
https://ru.bem.info/...testing/gemini/
https://ru.bem.info/...-odessajs-2014/


  • 1


#140233 Совет от опытных по плагинам

Написано 220v 30 марта 2015 - 08:17

“Firefox и его плагины” – лучший доклад Fun ConfeT&QA


  • 1


#136820 Какой сервер непрерывной интеграции у вас используется?

Написано 220v 21 ноября 2014 - 07:43

Jenkins - разработчики довольны, а тестировщика "обычно не спрашивают" :)


  • 1


#131869 Ввод Login and Password в сплывающей форме

Написано 220v 04 июля 2014 - 19:34

cмотрите в сторону xUnit и аннотации Before, After, Test и т.д.

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

( и классы в Джаве с Большой буквы - Login1)


Откуда вы взяли цифры в квадратных скобках?

//input[@name='login'])[2]"));
//input[@name='password_check'])[1]

о селекторах id, name, xpath, css http://www.youtube.c...h?v=ahhaMbjqrxM

и еще раз посмотрите на ваш код (возможно некоторые селекторы лучше заменить)

 


  • 1


#129254 Путь к файлу

Написано 220v 08 апреля 2014 - 12:44

1.Не самый лучший способ :) на всех машинах создать папку с этим фото

2. Если у вас такой вариант получится, то напишите

import org.openqa.selenium.remote.LocalFileDetector;
 
 
driver = new RemoteWebDriver(DesiredCapabilities.firefox());
driver.setFileDetector(new LocalFileDetector());
File file = new File("src/test/resources/photo.png");
driver.findElement(By.id("photo")).sendKeys(file.getAbsolutePath());

  • 1


#128758 Запустить один тест с друго и вернуться

Написано 220v 28 марта 2014 - 08:37

Задачка вроде бы решилась, сейчас протестирую  :-)

Если возможно, то покажите ваше решение

Моё решение в картинках.
 

Прикрепленные изображения

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg

  • 1


#128646 Не могу подобраться к чекбоксу

Написано 220v 25 марта 2014 - 14:14

.//div[contains(text(),'Согласование')]/../preceding-sibling::td[2]/a


td[2]  - здесь индекс попробуйте поменять

Возможно я ошибся в xpath, но копать надо в сторону preceding-sibling


  • 1


#128389 Подскажите автору тему для технической статьи?

Написано 220v 19 марта 2014 - 12:32

 

Для новичков: больше практики с примерами и комментариями


Хочется чуть больше конкретики, если можно. Например, про?..

 

Шуточный вариант: как заставить разработчика тестировать, писать юнит тесты и не отвлекать, но помогать тестировщику :)


  • 1


#125054 SoapUI вопросы новичка

Написано 220v 13 декабря 2013 - 11:48

http://www.soapui.org/
  • 1


#123421 ERROR: Caught exception [ERROR: Unsupported command [isTextPresent]]

Написано 220v 28 октября 2013 - 15:04


Потому что ещё не реализовано...


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

FYI:
http://code.google.c...IDEReleaseNotes
  • 1