Search code examples
phpcodeception

Codeception phpbrowser using javascript


Long story short, I have a web application where i have a button which triggers 2 async ajax calls. The 2 ajax calls use a parameter which is actually a javascript variable set in the application. When the two ajax calls are done, a third ajax call is performed using the result from one of the initial ajax calls. This third ajax call, when done, adds a new div in the content.

So far I used CodeCeption with WebDriver, where the above functionality was easily simulated by two simple actions:

$I->click(button)
$I->waitForElementVisible(newdiv)

I am now trying to simulate the same using PhpBrowser but I'm not certain how to approach this:

1. Since PhpBrowser doesn't use javascript, how can I send the javascript param in the 2 ajax calls?

2. Since there is no waitforelement function available in PhpBrowser, do I need to manually trigger all 3 ajax calls? Or will PhpBrowser be able to manually execute the callback of the two ajax calls and automatically trigger the third one?


Solution

  • PhpBrowser does not execute any javascript.

    You have to hardcode or calculate a value of your "javascript variable" in your test's PHP code.

    And use sendAjaxRequest methods: http://codeception.com/docs/modules/PhpBrowser#sendAjaxGetRequest