Size: a a a

QA — Автоматизация

2020 October 02

LY

Lev Yarushin in QA — Автоматизация
лог гляньте что вы там в качестве локатора подсовываете.
источник

A

Alexey🐾 in QA — Автоматизация
Может тогда проблема в # и .? В названии ошибка? Больше вариантов не могу предложить..
источник

EG

Edward Galiaskarov in QA — Автоматизация
Lev Yarushin
лог гляньте что вы там в качестве локатора подсовываете.
конструкция там такая
<tr id="id"><td><a> дальше может быть спан а может и не быть,
если есть, я использую has_selector. Чтобы проверить отсуствие has_no_selector
в качестве селектора пишу span.#{class}
источник

EG

Edward Galiaskarov in QA — Автоматизация
Alexey🐾
Может тогда проблема в # и .? В названии ошибка? Больше вариантов не могу предложить..
#{variable}  - это такой в ruby способ встраивания в строку подстроки бесшовно

попробовал вообще все убрать, оставил только идентификатор строки, также валится, видимо где-то в другом месте ошибка, которую не вижу
источник

LY

Lev Yarushin in QA — Автоматизация
Edward Galiaskarov
конструкция там такая
<tr id="id"><td><a> дальше может быть спан а может и не быть,
если есть, я использую has_selector. Чтобы проверить отсуствие has_no_selector
в качестве селектора пишу span.#{class}
сделайте строковую переменную с локатором, и ее поставьте.
источник

LY

Lev Yarushin in QA — Автоматизация
Лучше через хеш с шаблоном, как тут https://blog.revathskumar.com/2013/01/ruby-multiple-string-substitution-in-string-template.html
источник

EG

Edward Galiaskarov in QA — Автоматизация
Спасибо за советы, боюсь там какая-то другая проблема. Я уже сократил выражение до id строки, ну просто посмотреть что будет, все равно падает.
источник

EG

Edward Galiaskarov in QA — Автоматизация
надо отдохнуть, возможно стучусь в открытые двери.
источник

B

Bola in QA — Автоматизация
Edward Galiaskarov
#{variable}  - это такой в ruby способ встраивания в строку подстроки бесшовно

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

LY

Lev Yarushin in QA — Автоматизация
Edward Galiaskarov
Спасибо за советы, боюсь там какая-то другая проблема. Я уже сократил выражение до id строки, ну просто посмотреть что будет, все равно падает.
has_no..  делает предикат https://github.com/teamcapybara/capybara/blob/master/lib/capybara/node/matchers.rb#L50 . Вызывается вот этот метод, попробуйте напрямую page.assert_no_selector("##{tr_id} span.#{indiclass}")
источник

EG

Edward Galiaskarov in QA — Автоматизация
Bola
вставить просто произвольный селектор?
да, хочу попробовать, некоторая пауза, попробую позже
источник

EG

Edward Galiaskarov in QA — Автоматизация
Lev Yarushin
has_no..  делает предикат https://github.com/teamcapybara/capybara/blob/master/lib/capybara/node/matchers.rb#L50 . Вызывается вот этот метод, попробуйте напрямую page.assert_no_selector("##{tr_id} span.#{indiclass}")
аналогично
источник

EG

Edward Galiaskarov in QA — Автоматизация
Bola
вставить просто произвольный селектор?
попробовал вот так
Given(/^Check that badge for bid id "(.*?)" does not exist$/) do |tr_id|
 tr_id = $bidID if tr_id == ""
 p tr_id
 result = page.has_no_selector?(:css, "pravda")
 p result
 raise "Badge is present!" unless result
end

прошло
источник

EG

Edward Galiaskarov in QA — Автоматизация
а так result = page.has_no_selector?(:css, "#5f0c17f3aa0a89277c667e3d span.badge-success")
ругается
источник

B

Bola in QA — Автоматизация
проблему локализовали )
источник

EG

Edward Galiaskarov in QA — Автоматизация
Локализовали.. но я нефига не врубаюсь что тут не так

вот есть такой код

# for Proposals tab
Given(/^No indicator with class "(.*?)" in row with id "(.*?)"$/) do |indiclass, tr_id|
 tr_id = $grow if tr_id == ""
 p tr_id
 result = page.has_no_selector?(:css, "##{tr_id} td.proposal_sum span.#{indiclass}")
 p result
 raise "Indicator #{inditext} is present!" unless result
end

работает

разница только в более точном указании, где смотреть
источник

B

Bola in QA — Автоматизация
просто выведи в консоль все переменные, которые ты инициализируешь в степе
и попробуй составить "непрвальную" свою строку (селектор), вывести в консоль его тоже
и для "правильного степа - так же
и увидишь разницу
источник

B

Bola in QA — Автоматизация
в лог вот это:
"##{tr_id} td.proposal_sum span.#{indiclass}"

и вот это
"##{tr_id} span.#{indiclass}"
источник

B

Bola in QA — Автоматизация
ну я по js-ной привычке  )))
а так ты можешь просто создать переменную, присвоить ему свой селектор и эту строку продебажить
источник

EG

Edward Galiaskarov in QA — Автоматизация
Да, пробую, но похоже просто через length решу, забодала что-то ситуация
источник