Как найти локатор элемента, похожего на getText () в автоматизации - PullRequest
0 голосов
/ 25 февраля 2019

Как найти локатор элемента, похожего на getText () в автоматизации

[Я тестирую модуль приложения, в котором есть линейка дня, начиная с 1 до 50, и каждый раз, когда я иду в этот модуль, день меняется внутридиапазон, упомянутый выше.Итак, как я могу получить значение элемента (ID, Xpath, ссылка и т. Д.), Чтобы его элемент был обнаружен, а его значение было передано в цикле ниже.Теперь у меня есть хардкорное значение дня «38» в «j».Но я хочу использовать динамическое значение для 'j', чтобы оно уменьшалось до дня 1]

[Найти прикрепленное изображение для справки] [1]

for (int j = 38;  j >= 1 ; j--) 
		{
			System.out.println(j);
		if (j >= 2) {
			Thread.sleep(2000);
			By day38 = By.xpath("//*[@text='"+j+"']");
			Thread.sleep(2000);
			objWrapperFunctions.mobileClick(day38);
		 } else {
			Thread.sleep(2000);
			By day1 = By.xpath("//*[@text='1']");
			Thread.sleep(2000);
			objWrapperFunctions.mobileClick(day1);
			break;
		 }
		}

1 Ответ

0 голосов
/ 26 февраля 2019

Поскольку html не опубликован, но,

// Case 1=> If we assume you get dynamic day based on below logic

    String dymamicDay=driver.findElement(By.id("someIDforDay")).getAttribute("value");

// get int for String read

    int dDay =Integer.parseInt(dymamicDay);

// Pass dynamic value for j in loop

    for (int j = dDay;  j >= 1 ; j--) 
            {
                System.out.println(j);
            if (j >= 2) {
                Thread.sleep(2000);
                By day38 = By.xpath("//*[@text='"+j+"']");
                Thread.sleep(2000);
                objWrapperFunctions.mobileClick(day38);
             } else {
                Thread.sleep(2000);
                By day1 = By.xpath("//*[@text='1']");
                Thread.sleep(2000);
                objWrapperFunctions.mobileClick(day1);
                break;
             }
            }

// Case 2=> If we assume you get dynamic day based on below logic

    List<WebElement> dynamicDay=driver.findElements(By.id("someIDforDay"));

// get no of days from List.size()

    int dDay =dynamicDay.size();

// Pass dynamic value for j in loop

    for (int j = dDay;  j >= 1 ; j--) 
            {
                System.out.println(j);
            if (j >= 2) {
                Thread.sleep(2000);
                By day38 = By.xpath("//*[@text='"+j+"']");
                Thread.sleep(2000);
                objWrapperFunctions.mobileClick(day38);
             } else {
                Thread.sleep(2000);
                By day1 = By.xpath("//*[@text='1']");
                Thread.sleep(2000);
                objWrapperFunctions.mobileClick(day1);
                break;
             }
            }
...