dpzbh1779 2019-02-25 11:25
浏览 89
已采纳

无法选择我的字段,也无法用codeception编写

I'm trying to write a small test where I login to my chosen page. I want to write my email address to login field and press the button to login. However, I receive an error that I miss argument in my fillField function.

[ArgumentCountError] Too few arguments to function AcceptanceTester::fillField(), 1 passed in C:\Users\Henrikas\tests\acceptance\LoginCest.php on line 11 and exactly 2 expected

Here's my code: public function successTest(AcceptanceTester $I)

 {

        $I->wantTo("Created test case for login");
        $I->amOnPage('page');
        $I->fillField(['input' => '.form-control', "myEmailAddress"]);
        $I->click("//button[@class='btn btn-primary btn-block btn-rounded text-uppercase']");
}
}

And error picture: enter image description here

HTML code from my webiste: enter image description here

  • 写回答

1条回答 默认 最新

  • doushantun0614 2019-03-05 15:01
    关注

    The fillField method of codeception takes two parameters of type string 1. The selector 2. The value

    You have provided an array in both cases. You might want to write the test case using xpath like this

    public function successTest(AcceptanceTester $I)
    {
        $I->wantTo("Created test case for login");
        $I->amOnPage('page');
        $I->fillField("//input[@type='text']", "myEmailAddress");
        $I->click("//button");
    }
    

    Depending on how your button element is.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?