Przeprowadzałem debugowanie testu i stwierdziłem, że kątomierz znajduje właściwy element, ale lokalizacja (x i y) nie jest powiązana z lokalizacją przycisk, który został znaleziony. Kiedy kliknie się na ten element, nie trafia i klika niewłaściwe miejsce, powodując niepowodzenie testu.Testowanie kątomierza (przy użyciu Selenium i Chrome na kanciastej stronie) daje błędny punkt x i y
Na marginesie testy te wydają się działać dobrze na innych komputerach, z tą różnicą, że system operacyjny, w którym testy nie działają, to system Windows 10?
Czy ktoś wie, jak kątomierz/selen określa położenie elementu.
Z góry dziękuję.
Jack Reeves
EDIT:
Po komentarzu wnioskiem kilka przykładów:
Aby uzyskać obiekt strona:
browser.get('examplePageAddress')
Aby uzyskać nagłówek, który przycisk jest zlokalizowany:
var elem = element.all(by.className('header')).get(0)
Aby uzyskać div że przycisk znajdujący się w nagłówku:
var div = elem.element(by.name('examplename'))
Aby uzyskać rzeczywiste przycisk
var button = element(by.name('exampleButtonName'))
W teście prosty button.click() jest wywoływana i to jest brakuje tego przycisku o około 50 pikseli.
Poprzez debugowanie i zapisywanie na konsoli potwierdziłem, że wybrany jest właściwy element [przy użyciu .getInnerHTML()] i mierząc lokalizację przycisku ustalono, że jest około 50px inny [użył .getLocation() do określenia x i y zwracane przez kątomierz]
Czy mógłbyś stworzyć powtarzalny przykład? Pokaż też, jak określasz lokalizację. Dzięki. – alecxe
Czy element ma animację lub css, który może wydawać się nietypowy? – Brine
Nie wygląda na to, ponieważ powiedziałem, że działa, gdy ten test jest uruchamiany na innych maszynach, co jest najdziwniejsze! Sam przycisk znajduje się w div, a jego lokalizacja div jest błędna: S – JackFrost