Транспортир - Как использовать & ldquo; или & rdquo; в локаторах

Сокет находится в / tmp. В системе Unix из-за режимов & amp; владельцы в / tmp, это может вызвать некоторые проблемы. Но, пока вы говорите нам, что вы МОЖЕТЕ использовать свою связь mysql нормально, я думаю, это не проблема в вашей системе. Первичная проверка должна состоять в том, чтобы переместить mysql.sock в более нейтральный каталог.

Тот факт, что проблема возникает «случайно» (или не каждый раз), позволяет мне думать, что это может быть проблема с сервером.

  • Является ли ваш / tmp размещен на стандартном диске или на экзотическом монтировании (например, в ОЗУ)?
  • Является ли ваш / tmp пустым?
  • Означает ли iotop что-то не так, когда вы сталкиваетесь с проблемой?
0
задан Sadorus 9 March 2019 в 21:22
поделиться

1 ответ

Обновленный ответ Кажется, что ваш оригинальный локатор в порядке, но ваша функция totalAmount не возвращает правильное значение. Если вы хотите попробовать альтернативный подход к вашему локатору, чтобы получить цену, вы можете попробовать это, но ваш способ должен работать.

let price = element(by.css('.total-amount span')).isDisplayed()
    .then(disp => {
        return element(by.css('.total-amount span'));
    })
    .catch(err => {
        return element(by.css('.total-amount'));
    });

Оригинальный ответ

Вы используете 'ИЛИ' правильно, но ваш локатор не структурирован правильно.

Если мы сломаем этот локатор element(by.css('.total-amount span, .total-amount'));, мы увидим, что есть два условия. Если первое удовлетворено, то оно будет возвращено. Если первое не удовлетворено, то второе будет возвращено, если оно будет найдено.

Однако, вы никогда не получите 30.50, так как второе условие вернет сам элемент td. Если вы хотите получить продажную цену, если она есть, но <s>, если ее нет, тогда вам нужно будет запустить эту строку

element(by.css('.total-amount s, .total-amount span'))
0
ответ дан DublinDev 9 March 2019 в 21:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: