Добрый день! Вопрос по C#

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28
Добрый день!

Сейчас разбираюсь с appium и есть одна небольшая проблема

C#:
driver.FindElementByXPath("//android.widget.TextView[contains(@text, 'Первое')]").Click();
Как в этот код вместо 'Первое' вставить свою переменную?
 

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
C#:
driver.FindElementByXPath(String.Format("//android.widget.TextView[contains(@text, '{0}')]",mystring)).Click();
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 923
Благодарностей
1 123
Баллы
113
Добрый день!

Сейчас разбираюсь с appium и есть одна небольшая проблема

C#:
driver.FindElementByXPath("//android.widget.TextView[contains(@text, 'Первое')]").Click();
Как в этот код вместо 'Первое' вставить свою переменную?
driver.FindElementByXPath("//android.widget.TextView[contains(@text, '+ nazvanie_peremen +')]").Click();
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28
Нет, такой вид записи неверен. Необходимо числовое значение, отсчитываемое с нуля.

C#:
String.Format("{0} ... {1} ... {2} ... ", firstStringFromZero, secondString, thirdString);
Тогда другой вопрос, как мне понять, какая переменная по счету?
50014
Или я должен в начале кода её соотнести к цифре какой-либо?
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 923
Благодарностей
1 123
Баллы
113

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28

RoyalBank

Client
Регистрация
07.09.2015
Сообщения
557
Благодарностей
550
Баллы
93
C#:
String.Format("{0} ... {1} ... {2} ... ", project.Variables["pass"].value, project.Variables["sub"].value, project.Variables["title"].value);
// {0} = pass
// {1} = sub
// {1} = title

// Число от нуля и далее, отвечает за порядковое расположение переменной после кавычек "",

String.Format("{1}:{2}@{0}:{0}", mystring, second, third);
// {0} = mystring
// {1} = second
// {2} = third
К сожалению данный метод не работает
Там экранировать необходимо + добавить кавычки.
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28
C#:
String.Format("{0} ... {1} ... {2} ... ", project.Variables["pass"].value, project.Variables["sub"].value, project.Variables["title"].value);
// {0} = pass
// {1} = sub
// {1} = title

// Число от нуля и далее, отвечает за порядковое расположение переменной после кавычек "",

String.Format("{1}:{2}@{0}:{0}", mystring, second, third);
// {0} = mystring
// {1} = second
// {2} = third

Там экранировать необходимо + добавить кавычки.
Спасибо Вам огромное! Желаю Вам хорошего вечера, успешных и прибыльных дел!
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
К сожалению данный метод не работает
Вам выше уже дали красивое решение, что бы не "парится" с кавычками, но на всякий случай:
C#:
driver.FindElementByXPath("//android.widget.TextView[contains(@text, '" + project.Variables["peremennaya"].Value + "')]").Click();
 

Valandersi

Client
Регистрация
19.01.2015
Сообщения
1 923
Благодарностей
1 123
Баллы
113
К сожалению данный метод не работает
в переменной sub у вас должна быть переменная
Допустим так

var sub = project.Variables["sub"].Value;
driver.FindElementByXPath("//android.widget.TextView[contains(@text, '+ sub +')]").Click();
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28
Вам выше уже дали красивое решение, что бы не "парится" с кавычками, но на всякий случай:
C#:
driver.FindElementByXPath("//android.widget.TextView[contains(@text, '" + project.Variables["peremennaya"].Value + "')]").Click();
Спасибо, тоже опробую!

Я встречал Вас в топике о https://zennolab.com/discussion/threads/upravlenie-ljubymi-android-prilozhenijami-na-smartfone-iz-zp.33511/#post-244338 , Вы случайно не знайте кода для быстрого клика в андроид приложениях, у меня есть код

C#:
driver.Tap(1, 100, 100, 500);
Но он делает даже при значении 500 с задержкой и быстрого тапа не выходит, если вдруг знайте, был бы очень рад помощи!
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113

watersquad

Client
Регистрация
23.09.2019
Сообщения
293
Благодарностей
29
Баллы
28
Попробую!
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 788
Благодарностей
1 952
Баллы
113

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)