Selenyum: HTML düğmesi öğesini tıklatın nasıl?

1 Cevap php

Ben başka bir sayfaya bir bağlantı olarak kullanılan sayfasında düğmesi vardır. Kullanıcı düğmeye tıkladığında bu yüzden doğru sayfasına yönlendirilirsiniz.

Ben PHPUnit için Selenyum uzantısı kullanıyorum ve ben düğmesi doğru kullanıcı yönlendirme olduğunu test etmek istiyorum. İşte ben test etmek için çalışıyorum HTML:

<button onclick="window.location='/sponsor';" value="Continue" type="button" id="sponsorContinue" name="sponsorContinue">Continue</button>

Ben düğmesini tıklatın farklı yaklaşımlar bir çok denedim, ama ben iş için bunlardan herhangi birini almak gibi olamaz:

$this->click("//button[@id='sponsorContinue']");

Bu komut yürütür ve hataları atmak değil, ama sayfa yönlendirilir. Ben elle düğmesine tıkladığınızda çalışıyor. Ben ne yapmalıyım?

1 Cevap

İşte sorun ... HTML yanlış olduğunu ve bir sonraki sayfaya devam etmek için javascript kullanmak için kullanıcıların zorluyor. Yerine bu HTML kullanabilirsiniz. Daha temiz ve javascript dayanmaz.

<form method="get" action="/sponsor">
    <button type="submit" id="sponsorContinue">Continue</button>
</form>

Ayrıca, bu şimdi çalışacaktır:

$this->click('sponsorContinue');

Ancak, almak için çalışıyorsanız window.location çalışmak, see this question. Etmek