207 похожих чатов

Всем привет! Вопрос немного странный, но все же. Поделитесь пожалуйста

опытом в подходе с написанием локаторов в автотестах. Предположим имеем в целом стабильную страницу, на ней не меняются элементы или их названия. Я задался вопросом, стоит ли просить разработчиков проставлять некие тестовые атрибуты элементам (data-testid)? Не станет ли в какой-то момент тест с таким локатором false positive? Например, поле или кнопка изменили свое расположение на страничке, но тест сам по себе проходит, т.к. по атрибуту элемент находится, но по факту на страничке есть баг. Может стоит прописывать локатор искомого элемента, опираясь на какой-нибудь блок/ элемент? Например, кнопка будет искаться по локатору что-то вроде $x('//div/button/span[contains(text(), "Create")]'), получается, если ее положение или текст как-то изменятся, то тест упадет. Возможно я не совсем чего-то понимаю, и мое предположение ошибочное. В целом тестовые атрибуты дали бы читаемость в тестах, так как иногда локаторы получаются длинными и не человекочитаемыми (т.е. из тестов сразу по коду было бы понятно, куда мы кликаем). Но больше плюсов я пока не вижу. Не хочется привносить практику ради практики.

3 ответов

13 просмотров

А Вы фреймворком каким-нибудь пользуетесь? Или на гольном Селениуме? Рекомендую Селеноид - вразы срановится быстрее, интуитивнее писать и читаемость становится, как у детского стишка. Без длиннющих локаторов и тому подобного. )

верстку проверяйте скриншот тестами, а селениум тестам оставьте _функциональные_ проверки

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Всех приветствую. Направьте меня в нужное русло. Постепенно переписываю проект с delphi на lazarus. Приложение - обычный windows/linux клиент для бд firebird. Тут все хорошо. ...
Mishutka
8
Привет всем, подскажите, есть сайт на ево 1.4, надо сделать его мультиязычным, структура документов одинаковой останется, чисто тексты разные, свои тв для каждого языка, поддо...
Oleg
7
@rouse_79 https://github.com/AlexanderBagel/FWZip/blob/8c6882a31ffaa9a23e66e22eaa5b1f7ebfcad43c/zlib_external.pas#L393 Почему Си-шная функция memset, параметр отвечающий за з...
notme
8
{"fieldValue":[ {"title":"Alkmaar","coords":"52.62689992095562, 4.771862510168792","address":"Edisonweg 1","zip":"1821 BN","city":"Alkmaar","description":"ma-vr: 07:00-17:00"...
Marc Hoogstrate
4
А что ты ставишь? Релиз или текущую версию?
Aliaksandr Sadouski
9
Карта сайта