在量角器中:如何创建只发送我指定的键的方法

问题描述 投票:0回答:1

我有一个名为populateProvidedValuesForNewMandate的方法,看起来像这样

exports.populateProvidedValuesForNewMandate = (team, assignee, disputeValue, lawField, 
subjectOfDispute, party, fileReference, costUnit, clientUnit, sideEffect, comment) => {
  const teamInput = element(by.css('div#team input'));
  const assigneeInput = element(by.css('div#assignee input'));
  const disputeValueInput = element(by.id('dispute_value'));
  const lawFieldInput = element(by.css('div#law_field input'));
  const subjectOfDisputeInput = element(by.id('subject_of_dispute'));
  const partyInput = element(by.id('party'));
  const fileReferenceInput = element(by.id('file_reference'));
  const costUnitInput = element(by.css('div#cost_unit input'));
  const clientUnitInput = element(by.id('client_unit'));
  const sideEffectInput = element(by.css('div#side_effect input'));
  const mandateComment = element(by.id('mandate_comment'));

  // TODO: Figure out how to choose these dynamically as well
  // relevantCase, risReportRelevant, economicRelevance, activePassive
  const relevantCaseInput = element(by.css(".relevant_case input[value='no']"));
  const riskReportRelevantInput = element(by.css(".risk_report_relevant input[value='no']"));
  const economicRelevanceInput = element(by.css("label[for='economic_relevance']"));
  const activePassiveInput = element(by.css(".active_passive input[value='passive']"));

  teamInput.sendKeys(team);
  assigneeInput.sendKeys(assignee);
  disputeValueInput.sendKeys(disputeValue);
  lawFieldInput.sendKeys(lawField);
  subjectOfDisputeInput.sendKeys(subjectOfDispute);
  partyInput.sendKeys(party);
  fileReferenceInput.sendKeys(fileReference);
  costUnitInput.sendKeys(costUnit);
  clientUnitInput.sendKeys(clientUnit);
  sideEffectInput.sendKeys(sideEffect);
  mandateComment.sendKeys(comment);

 // TODO: Figure out how to choose these dynamically as well
 // relevantCase, risReportRelevant, economicRelevance, activePassive
 browser.actions().mouseMove(relevantCaseInput).doubleClick().perform();
 browser.actions().mouseMove(riskReportRelevantInput).click().perform();
 browser.actions().mouseMove(economicRelevanceInput).click().perform();
 browser.actions().mouseMove(activePassiveInput).click().perform();
};

这是其用例的示例

    values.populateProvidedValuesForNewMandate(texts.DISPUTE_VALUE, texts.PARTY, texts.CLIENT_UNIT, 
    texts.SIDE_EFFECT, texts.COMMENT);

该方法将位于texts.js文件中的指定值填写到适当的字段中。问题是我收到错误消息:'每个键必须是一个字符串数;不确定”表示此方法无效,因为我必须为该方法中的每个指定变量发送键。

我真的很想避免为此方法发送空字符串(特别是因为它不起作用,我已经尝试了->我从应用程序本身而不是量角器/硒中得到错误)。

如何将这种方法转换为只考虑测试用例中指定变量的方法。同样,从您的评论中可以看到,我正在尝试找出如何对复选框和单选按钮执行此操作。如果有人有提示,我将不胜感激

javascript selenium protractor
1个回答
0
投票
然后称呼它

fillForm({ assignee: texts.ASIGNEE, disputeValue: texts.DISPUTE_VALUE })

因此它将跳过将密钥发送到团队字段

© www.soinside.com 2019 - 2024. All rights reserved.