jdi-testing / jdn-ai

JDN – is the Chrome plugin for UI test automation. It helps Software Test Automation Engineer to create Page Objects for the test automation framework and start test development fast
MIT License
9 stars 3 forks source link

[Critical] Экспорт в файл в формате вивидуса заменяет все локаторы (кроме xPath и CSS) на undefined (а вот копипаст - работает) #1584

Closed AlexeyGirin closed 8 months ago

AlexeyGirin commented 9 months ago

Environment details (please complete the following information): JDN v 3.14.30 Back-end v 0.2.58 win10

Describe the bug Экспорт в файл в формате вивидуса заменяет все локаторы (кроме xPath и CSS) на undefined (а вот копипаст - работает)

To Reproduce Steps to reproduce the behavior:

  1. Откройте плагин на страничке https://jdi-testing.github.io/jdi-light/html5.html (пароль - Roman, Pass - Jdi1234)

  2. Нажмите кнопку +Page Object

  3. Распознайте там HTML5 элементы через кнопку Generate All image

  4. Добавьте в ПO локаторы с именами (дополнительно меняя тип на который я скажу): romanIovlev - поменяйте типа на linkText jdiTestingPlatform - поменяйте типа на tagName button1 - поменяйте типа на className bigBlueButton - поменяйте типа на id getSelectedIndexGetIndexOfTheSelectedElement - тип не менять isSelectedActionValueVerifiesSelectedTextWithValue - поменяйте типа на linkText isHiddenCheckIsElementHidden - поменяйте типа на css

  5. Создайте ПО

  6. Экспортните этот конкретный ПО в жава файл

Actual behavior Содержимое файла:

variables.Html5Page.url=/jdi-light/html5.html
variables.Html5Page.Label.romanIovlev=By.linkText(undefined)
variables.Html5Page.TextField.jdiTestingPlatform=By.tagName(undefined)
variables.Html5Page.Button.button1=By.className(undefined)
variables.Html5Page.Button.bigBlueButton=By.id(undefined)
variables.Html5Page.Table.getSelectedIndexGetIndexOfTheSelectedElement=By.xPath(//*[contains(text(), 'getSelectedIndex() - Get index of the selected Element')])
variables.Html5Page.Table.isSelectedActionValueVerifiesSelectedTextWithValue=By.linkText(undefined)
variables.Html5Page.Table.isHiddenCheckIsElementHidden=By.cssSelector(.doc-space:nth-child(6) p:nth-child(9))

Expected behavior Ожидаемое содержимое файла:

variables.Html5Page.url=/jdi-light/html5.html
variables.romanIovlev.Label.romanIovlev=By.linkText(Roman Iovlev)
variables.jdiTestingPlatform.TextField.jdiTestingPlatform=By.tagName(h1)
variables.button1.Button.button1=By.className(uui-button red)
variables.bigBlueButton.Button.bigBlueButton=By.id(blue-button)
variables.getSelectedIndexGetIndexOfTheSelectedElement.Table.getSelectedIndexGetIndexOfTheSelectedElement=By.xPath(//*[contains(text(), 'getSelectedIndex() - Get index of the selected Element')])
variables.isSelectedActionValueVerifiesSelectedTextWithValue.Table.isSelectedActionValueVerifiesSelectedTextWithValue=By.linkText(isSelectedAction(value) - Verifies selected text with value)
variables.isHiddenCheckIsElementHidden.Table.isHiddenCheckIsElementHidden=By.cssSelector(.doc-space:nth-child(6) p:nth-child(9))
Iogsotot commented 9 months ago

https://github.com/jdi-testing/jdn-ai/pull/1604 3.14.34

AleksandraSmolianinova commented 8 months ago

Tested in 3.14.38 - Passed variables.Html5Page.url=/jdi-light/html5.html variables.Html5Page.Label.romanIovlev=By.linkText(Roman Iovlev) variables.Html5Page.TextField.jdiTestingPlatform=By.tagName(h1) variables.Html5Page.Button.button1=By.className(uui-button red) variables.Html5Page.Button.bigBlueButton=By.id(blue-button) variables.Html5Page.Table.getSelectedIndexGetIndexOfTheSelectedElement=By.xPath(//*[contains(text(), 'getSelectedIndex() - Get index of the selected Element')]) variables.Html5Page.Table.isSelectedActionValueVerifiesSelectedTextWithValue=By.linkText(isSelectedAction(value) - Verifies selected text with value) variables.Html5Page.Table.isHiddenCheckIsElementHidden=By.cssSelector(.doc-space:nth-child(6) p:nth-child(9))