Я выполнил Android Automation с файлом объектов, объектами страницы, определением шага.
Теперь мне нужно запустить IOS Automation, но я думаю использовать тот же файл функций Android, что и для IOS / Android одинакова.
Я сделаю Объекты Страницы, Определения Шагов разными для среды.
Я могу добиться того же, сделав некоторые изменения в файле функций.
Но после внесения изменений строки файла функций становятся длиннее.
Мне нужно иметь такой же набор файлов с любыми изменениями в IOS Automation.
Ниже приведен пример файла объектов и объектов страницы.
Пожалуйста, помогите мне использовать тот же файл функций для ios, а также для автоматизации andriod
Файл функции:
Background:
Given I relaunch the app
And I wait for 20s for element "logInButton" to exist on screen
When I Login to App with username "<username>" and password "<password>" into Property "<property>"
Then I visit the Landing screen
When I click "ViewGroup:Dashboards"
And I wait for 160s for element "TestView:ABDCDE" to exist on screen
When I click "ViewGroup:Dashboards"
Then I visit the Dashboards screen
And I wait for 160s for element "ViewGroup:Dashboards" to exist on screen
@id=ABCDE-445
Scenario Outline: Dashboard Elements Validation
Then I expect the following elements to be visible
|Fields|
|ViewGroup:Dashboards|
|ViewGroup1:The Daily|
|ViewGroup1:XYZ|
|homeBtn:AppMenuGoHome|
ФАЙЛ ОБЪЕКТА IOS PAGE
module.exports = {
elements: Object.assign({
ViewGroup: `//XCUIElementTypeOther[@name="$variable"]`,
TestView: `//XCUIElementTypeButton[@name='$variable']`,
ViewGroup1: `//XCUIElementTypeButton[@name="loginButton"]`,
homeBtn: `//XCUIElementTypeButton[@name="homeBtn"]`,
}),
staticElements: Object.assign({
usernameLabel: `//XCUIElementTypeOther[@name="Text userNameTextInput"]`,
passwordLabel: `//XCUIElementTypeOther[@name="Text passwordTextInput"]`,
}),
}
Файл объекта страницы Android:
module.exports = {
elements: Object.assign({
TestInput: `//android.widget.EditText[@content-desc='$variable']`,
TestView: `//android.widget.TextView[@text='$variable']`,
TestViewContains: `//android.widget.TextView[contains(@text,'$variable')]`,
ViewGroup: `//android.widget.ViewGroup[@content-desc='$variable']`,
ViewGroup1: `//android.widget.ViewGroup[@text='$variable']`,
homeBtn: `//android.widget.ViewGroup[@text='homeBtn']`,
}),
}