关于使用By语句使用多个定位器,我有一个问题。
下面我在一段代码中输入了一个基于by子句的字段:
public void GetFieldAndEnterText(By fieldElement, string fieldText) =>
_driver.FindElement(fieldElement).SendKeys(fieldText);
在我的步骤定义中,我正在努力找出如何根据specflow步骤中提到的字段确定要使用的定位器。
我有以下步骤:
When I enter in invalid email Test.TestEmail.plc for Email address field
And I enter in invalid email Test.TestEmail.gmail.com for Confirm email address field
如果该字段是电子邮件地址,我实际上想要它,然后使用此定位器:
_payment.GetFieldAndEnterText(PaymentDetailsResponsiveElements.EmailAddressField);
如果该字段是确认电子邮件地址:
_payment.GetFieldAndEnterText(PaymentDetailsResponsiveElements.ConfirmEmailAddressField);
如何在下面的步骤定义中应用此功能?
[When(@"I enter in invalid email (.*) for (.*) field")]
public void WhenIEnterInInvalidEmailForField(string fieldText, By fieldElement)
{
_payment.GetFieldAndEnterText(fieldElement, fieldText);
}
答案 0 :(得分:1)
您也可以这样做。我使用了场景大纲,但你可以不用。
Traceback (most recent call last):
File "harmosanimate.py", line 10, in <module>
psr = exp(-0.5*(xs/0.5)**2) * cos(k0*xs)
TypeError: only length-1 arrays can be converted to Python scalars