@qa_ru

Страница 1014 из 1080
Konstantin
25.07.2018
08:52:12
смысл от "бюрократического" ревью, которое проверяет только логику и на сколько "красиво" это написано?

трата же времени

Vitaly
25.07.2018
08:52:48
Вопросов больше нет :)
нене, давайте по-новой))) Есть 4 истории: - стайлгайд - дизайн\архитектура\нфт - воркфлоу - корректность 1-ю валидируют анализаторы, 2-ю ревью и спец. процессы, 3-ю ревью и тесты, 4-ю тесты

Evgeniy
25.07.2018
08:53:00
есть крутой доклад на эту тему: https://www.youtube.com/watch?v=wf-BqAjZb8M

Google
Konstantin
25.07.2018
08:53:03
просто сталкивался с таким, когда было модно пихать лямбды - их херачили везде не особо понимая, что в большинстве мест они не нужны. зато было красиво и соответствовало логике, ну и было написано правильно. но работало не так, как должно было.

Evgeniy
25.07.2018
08:53:41
я уже наверное раз 5ый его сюда кидаю, но Реймонд пишет, что ревью кода - это не просто соответствие стайлгайдам и общим практикам, это работа над логикой

Shoo
25.07.2018
08:54:55
Ах, whatever.

Sergey
25.07.2018
09:08:13
кто с rspec хорошо знаком??

Richard
25.07.2018
09:08:41
Если хотите что-то спросить - сначала задайте вопрос. Тот, кто в теме - сам вам ответит. Не пытайтесь сначала завладеть вниманием всех, а потом спрашивать. Это не работает и только тратит ваше и наше время.

Sergey
25.07.2018
09:12:46
ох простите) Есть два discribe, в каждом из них по два it блока. Как сделать так что бы при ошибке в первом описании, в первом it следующий it не выполнялся, но перешло к следующему описанию, например:

describe 'first' do it '1' { raise } it '2' { true } end describe 'two' do it '1' { true } it '2' { true} end

хода выполнения примерно такого хочу добится : 1.describe 'first' => it '1' return raise=> skip it '2' => describe 'two' => it '1' => it '2'

Philip
25.07.2018
09:48:32
describe 'first' do it '1' { raise } do it '2' { true } end

?

Anton
25.07.2018
09:49:22
выглядит так, будто вы шаги для теста пытаетесь запихать в it блок

по идее *Проверка (блок it) не должен содержать никаких действий - только проверки; тогда у вас вся логика действий будет в before хуках - а сами проверки в блоках it. В этом случае провал на before автоматически зафейлит все вложенные структуры

ну по крайней мере у меня такое понимание )

Google
Sergey
25.07.2018
09:52:09
просто есть главное описание например создание ордера - и если он не создался нет смысла прогонять остальные иты

ну по крайней мере у меня такое понимание )
так это понимание или опыт такой есть?

Anton
25.07.2018
09:53:14
так это понимание или опыт такой есть?
опыт написания selenium end-to-end сценариев

Sergey
25.07.2018
09:53:55
не не селениум это отдельная тема тестов

у меня интеграция апи

describe 'first' do it '1' { raise } do it '2' { true } end
))) смешно) а если у тебя какой-нибудь шаред будет с литами в блоке?

Anton
25.07.2018
09:55:29
ну сохраняйте результат ответа сервера в before хуке в переменную; потом ассертите её в it; далее вложенный context: в нем в before: skip if response != true

Sergey
25.07.2018
09:55:29
)

Anton
25.07.2018
09:55:31
как-то так )

Philip
25.07.2018
09:57:01
))) смешно) а если у тебя какой-нибудь шаред будет с литами в блоке?
идея была в том, чтобы выполнение через AND сделать

Sergey
25.07.2018
09:57:34
к сожелению но так не выйдет

мне чет мало верится что опции у rspec нет что бы при первом провале падал эксепшен и переходило к слдеюущему дискрайбу

Anton
25.07.2018
09:58:30
describe 'Orders' do before { response = server.create_order } it 'response is true?' { except(response == true).to be true } context ' next steps' do before { skip if response != true } it ... end end

Sergey
25.07.2018
10:00:32
спасибо, попробую

Dzmitry
25.07.2018
10:02:15
Всем привет У кого-нибудь есть Книга в PDF “Tap into mobile application testing”?

Richard
25.07.2018
10:03:22
Напоминаю, что за распространение пиратского контента чате пожизненный бан.

Sergey
25.07.2018
10:03:42
да , получилось

но мне ненравится что надо глобальную переменую использовать

не response = , а @response

Dzmitry
25.07.2018
10:04:11
Понятненько. Но “Я просто спросить” (с)

Google
Darya
25.07.2018
11:59:07
Подскажите, пожалуйста, как правильно писать на английском: testing of mobile apps или testing mobile apps, или вообще лучше mobile apps testing? Извините за глупый вопрос?сталкиваюсь с употреблением разных вариантов)

Арсений
25.07.2018
11:59:18
mobile apps testing

Darya
25.07.2018
11:59:31
mobile apps testing
Спасибо!?

Кирилл
25.07.2018
12:11:30
mobile apps testing
а тогда уточняющий вопрос: это единственный верный вариант из предложенных Дарьей или просто устоявшийся оборот?

M
25.07.2018
12:29:34
кто-нибудь работал с selenium через ноду - у меня ошибка промиса не могу нагуглить как исправить, что не так подскажите Вот сам промис driver.wait(until.elementLocated(By.css(createBtnClient)), 20000).then(element => { return driver.wait(until.elementIsVisible(element), 20000); }).then(button => { button.click(); }).catch(error => { console.log(error); }); Ошибка Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

slvtn
25.07.2018
14:48:16
День добрый товарищи, кто нибудь сталкивался с тем что Chrome игнорирует аргументы запуска переданные через через ChromeOptions?

slvtn
25.07.2018
15:02:31
private WebDriver webDriver; final ChromeOptions options = new ChromeOptions(); options.addArguments("--user-data-dir=" + configuration.getUserDataDir(),"--window-size=0,0", "--window-position=-9999,0", "--no-sandbox", "--disable-gpu", "--disable-infobars", "--disable-notifications" ); this.webDriver = new ChromeDriver(options);

selenium-java 3.13.0 chrome v59 chromedriver 2.30

дебаг лог хрома https://pastebin.com/PP5r4LrL

slvtn
25.07.2018
15:13:02
Попробуй для начала каждый аргумент отдельно добавить
Тоже самое, причем на моей машине работает коррктно, правда у меня хром 67, и вебдрайвер 2.40, а на виртуалке с хромом 59 и хромдрайвером 2.30 не фурычит

Ilya
25.07.2018
15:16:59
selenium той же версии? там как то смотрел сначала было через капабилити, потом задепрекейтили, и сделали через опции

вообще 59 и 67 не слабая такая разница)

селениум в этом плане капризный, по крайней мере на питоне

slvtn
25.07.2018
15:19:38
selenium той же версии? там как то смотрел сначала было через капабилити, потом задепрекейтили, и сделали через опции
3.13.0, ну т.е. последний. да, через капабилити deprecated теперь, хотя ChromeOptions имплементируют Capabilities))

Ilya
25.07.2018
15:20:43
не знаю как в джаве, но в питоне точно была, хоть и не официально, но привязка версии селениума с версией браузера

то есть грубо говоря 59 хром можно было юзать только со 2 мажорной версией селениума

slvtn
25.07.2018
15:21:21
вообще 59 и 67 не слабая такая разница)
ну вообще в дебаг логе видно что значения попадают в desiredCapabilities, но, если посмотреть ниже то там видно строчку [0.801][INFO]: Launching chrome: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ... --user-data-dir="C:\Users\KOVALE~1\AppData\Local\Temp\scoped_dir7868_17262

Google
slvtn
25.07.2018
15:22:05
Ща видимо придется тестить со старой версией библиотеки

Aleksandr
25.07.2018
15:33:32
есть такая проблемка: пишу groovy скрипт в джобе дженкинса, который должен взять файл из воркспейса и кое что с ним сделать. но джоба выполняется на слейве и падает строка, где я загружаю файл: def testngFile = new File(workspace+"\\testng.xml") в консоли ошибка: FATAL: c:\jenkins\workspace\XmlParser\XmlParser\testng.xml (No such file or directory) java.io.FileNotFoundException: c:\jenkins\workspace\XmlParser\XmlParser\testng.xml (No such file or directory) в гугле прочитал, что можно как то через FilePath решить проблему, но работающего примера не нашел. кто знает как решить?

Ivan
25.07.2018
15:52:35
возможно нет такого воркспейса. c:\jenkins\workspace\ [ XmlParser\XmlParser ] \testng.xml сделай лист этой дириктории.

Ilya
25.07.2018
15:58:54
Груви скрипт в prebuild секции или непосредственно в сборке?

На слейве точно этот файл есть?

Aleksandr
25.07.2018
16:05:26
возможно нет такого воркспейса. c:\jenkins\workspace\ [ XmlParser\XmlParser ] \testng.xml сделай лист этой дириктории.
я попробую завтра, но мне кажется, что там проблема в слейве. я тестил свой скрипт на локальном дженкинсе, где локально на мастере всё работало

Груви скрипт в prebuild секции или непосредственно в сборке?
файл точно есть. скрипт в сборке выполнял

Ilya
25.07.2018
16:06:46
Важен порядок запуска скриптов. То есть если в пребилд секции пускать груви скрипт, то он запускается на мастере и только потом джоба летит на слейв, и там делает себе воркспейс и имеет к нему доступ

Aleksandr
25.07.2018
16:08:11
запускал уже в сборке

Ilya
25.07.2018
16:10:15
Чудеса)

возможно нет такого воркспейса. c:\jenkins\workspace\ [ XmlParser\XmlParser ] \testng.xml сделай лист этой дириктории.
А как его может не быть если workspace это системная переменная каждого билда?

Правда оно WORKSPACE

В идеале конечно скинуть побольше инфы. Переменные окружения сборки, сам скрипт

Так гадать можно вечность

Полный путь до файла, лог сборки итд

Ivan
25.07.2018
16:33:54
Ilya
25.07.2018
16:34:59
No such a file системная ошибка, а ос можно доверять
Ошибка системная, я не спорю. Но человеческий фактор никто не отменял. Искать можно не на той машине например

То есть система вам никогда не скажет no such file or directory если файл есть

Хотя это же винда, ничему не удивлюсь)

И опять же, раз человек пишет скрипты, то я надеюсь он посмотрел какой путь в трейсе и убедился что файл там и правда есть

Google
Кирилл LLirik 14lvl (Perovo)
25.07.2018
16:54:59
Мой опыт показывает, что пока в ошибке не написано что именно пошло не так - может быть всё что угодно. )))

Страница 1014 из 1080