2014-04-10 4 views
3

나는 누군가가 시간에 못을 박길 바라고있는 간단한 질문이 있습니다.클릭 이미지 제출 버튼

난 그냥 Codeception 일부 수용 테스트를 통해 실행 그리고 난 형 이미지의 제출 버튼을 클릭하려고 해요 :

<div id="payment"> 
    <input name="submit" type="image" value="" alt="Review your order" src="/images/buttons/pay-securely.png"> 
</div> 

단순히 실패 테스트에 $ I-> 클릭() 결과를 사용하여 :

$I->click('#payment > input[name=submit]'); 

아이디어가 있으십니까?

답변

3

나는 또한 내가 클릭하고 싶은 것을 모호하지 않게 지정하는 데 어려움을 겪고있다.

  1. 사용하는 CSS 클래스, 또는 더 나은, ID를 선택기로, : 여기에 두 개의 내가 찾은 해결 방법은

    $I->click(['id'=>'myButtonID']); 
    
  2. 를 사용하여 자바 스크립트/JQuery와 클릭을 트리거 :

    $I->executeJS("$('input[name=submit]').click();"); 
    

나는 그것을 할 쉽기 때문에, 전자를 선호하지만, 나는 유 예를 들어, 후자의 경우. 여기서 나는 테스트되는 코드에 대해 많은 통제권을 가지고 있지 않습니다.

+2

니스! 잠시 동안 나를 보았지만 당신의 대답을 보았고 적절히 받아 들였습니다. 우리는 그러한 대안에 의지해야만한다. – Phil

0

나는이 문제에 대한 회신없이 직접 Codeception을 접촉했습니다. 이것을 시험 할 방법이 없으며 (그리고 이미지 제출 버튼을 사용하는 명백한 설계 결함 - 90 년대에 우리는 무엇입니까?) 이제 입력을 적절한 제출 버튼과 CSS로 바꾸어 버렸습니다!

생각 나는 내 자신의 질문에 답하고 다른 가난한 영혼이 장난스런 일을 물려 받았다는 (희망적으로있을 법하지 않은) 사건에 남겨 두었다.