Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Трудности с пробросом переменных #32

Open
aelpha opened this issue Apr 7, 2021 · 2 comments
Open

Трудности с пробросом переменных #32

aelpha opened this issue Apr 7, 2021 · 2 comments
Labels
Major Есть обходной вариант, но хотелось бы исправить

Comments

@aelpha
Copy link

aelpha commented Apr 7, 2021

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

@aelpha aelpha added the Major Есть обходной вариант, но хотелось бы исправить label Apr 7, 2021
@Nitive
Copy link
Contributor

Nitive commented Apr 26, 2021

Приложи, пожалуйста, кусочек кода, который неудобно вынести в функцию

@anurgalieva
Copy link
Contributor

anurgalieva commented Jun 2, 2021

Суть не совсем в этом. Получается если мы определили переменную в одном шаге - её значение не можем пробросить в другой шаг или функцию в которой используется другой шаг.

testcase('Сверяем название пункта меню', () => {
  let nameMenuItem
  step('переходим на github.com', () => {
    browser.url('https://github.com')
  })
  step('получаем название пункта меню', ({ nameMenuItem }) => {
    browser.getText('css selector', 'nav > a:nth-child(2)', function(result) {
      nameMenuItem = result.value
      console.log(nameMenuItem)
    })
  })
  expected('название пункта меню верное', () => {
    browser.expect.element('nav > a:nth-child(2)').text.to.contain(nameMenuItem)
  })
})

ИЛИ

const { checkName } = require("../actions/checkName")
testcase('Сверяем название пункта меню', () => {
  let nameMenuItem
  step('переходим на github.com', () => {
    browser.url('https://github.com')
  })
  step('получаем название пункта меню', ({ nameMenuItem }) => {
    browser.getText('css selector', 'nav > a:nth-child(2)', function(result) {
      nameMenuItem = result.value
      console.log(nameMenuItem)
    })
  })
  checkName(nameMenuItem)
})

function checkName(nameMenuItem) {
  expected('название пункта меню верное', () => {
    browser.expect.element('nav > a:nth-child(2)').text.to.contain(nameMenuItem)
  })
}
module.exports = { checkName }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Major Есть обходной вариант, но хотелось бы исправить
Projects
None yet
Development

No branches or pull requests

4 participants