передача значений в datatable файлов объектов огурца из файла свойств - PullRequest
0 голосов
/ 26 сентября 2018

Я хочу передать значения переменных в набор данных файлов объектов из файла свойств.Это то, что я написал, но это дает мне ошибку .. трассировка полного стека ниже

org.openqa.selenium.WebDriverException: неизвестная ошибка: ключи должны быть строкой

featurefile

Scenario: Capture a user and check user details

Given Opens the userdetails, searches for 'name' and clicks on 'enter'
When Enters the following into the various fields 'Fname', 'Lname', 'Mname', 'Age' and  'Language'
  |fname1|lname1|mname1|age1| language1|
  |fname |lname|mname|age|language|

Step Definition :

@When("Enters the following into the various fields '(.*)', '(.*)', '(.*)', '(.*)', '(.*)', '(.*)' and '(.*)'")
public void enters_the_following_into_the_various_fields_and(String fname1, String lname1, String mname1, String age1, String language1, DataTable dataTable) throws IOException {
    somepageclass = new somepageclass(driver);
    somepageclass.enterUserDetails(fname1, lname1, mname1, age1, language1);

    Properties file :

    fname = Ricky
    lname = Peters
    mname = M
    age = 45
    language = English

    Page methods :

    public void enterUserDetails(String fname1, String lname1, String mname1, String age1, String language1) throws IOException {
    element.sendKeys(loadData().getProperty(fname1));  //loaddata() is reading the property file} 

    Stack Trace :
org.openqa.selenium.WebDriverException: unknown error: keys should be a string

(Sessioninfo: chrome = 69.0.3497.100) (Информация о драйвере: chromedriver = 2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5), платформа = Windows NT 10.0.16299 x86_64) (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о трассировке стека) Время действия или время выполнения команды: время или время выполнения команды: время или время командыинформация: версия: '3.14.0', редакция: 'aacccce0', время: '2018-08-02T20: 19: 58.91Z' Системная информация: хост: 'BNEPC9455', ip: '172.28.2.6', os.name: «Windows 8.1», os.arch: «amd64», os.version: «6.3», java.version: «1.8.0_45» Информация о драйвере: org.openqa.selenium.chrome.ChromeDriver Возможности {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.42.591088 (7b2b2dca23cca0 ..., userDataDir: C: \ Users \ Bankimp \ AppData \ Lo ...}, cssSelectorsВключено: true, databaseEnabled: false, goog: chromeOptions: {debuggerAddress: localhost: 65524}, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: trueLable::нормальный, платформа: XP, имя_платформы: XP, ротатируемый: ложь, setWindowRect: истина, takeHeapSnapshot: истина, takeScreenshot: истина, непредвиденныйAlertBehaviour:, необработанныйPromptBehavior:, версия: 69.0.3497.100, webStorageEnabled: истина} Session ID: 456 0806806808a1007 *

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я все заработал.

Итак, я сделал это, создав класс пользовательских данных с помощью getter и setter.В установщике я читаю проп-файл, чтобы получить значения параметра данных datcable для огурца, и получаю его в методе для использования vaue

0 голосов
/ 26 сентября 2018

age = 45

- это проблема, она читает значение как int, а не как строку.измените его на

"45"

...