私はgebを使い始めたばかりで、とても楽しんでいます! 私の仕事は、ウェブサイトのテストを書くことです。
私の質問は、gradleを使用して Groovyシェル(コンソールではなく) を起動して、スクリプトを試すことができますか?
なぜ私はそれをしたいのですか?現在、groovy コンソールを使用してスクリプトを記述しています。私のgradle.buildには次の行があります
task(console, dependsOn: 'classes', type: JavaExec) {
main = 'groovy.ui.Console'
classpath = sourceSets.main.runtimeClasspath
}
gradle consoleでコンソールが起動し、次のように入力します。
import geb.Browser
import org.openqa.selenium.firefox.FirefoxDriver
def browser = new Browser(driver: new FirefoxDriver())
Browser.drive {
go "http://mypage.com/"
//do some stuff to login
//do some stuff to reach specific page
//do some stuff to reach the state I want
doAssertion
}
次に、 doAssertion関数で間違いを犯したことがわかったので、それを修正してスクリプトを再起動しましたが、ブラウザが表示されるのを待ち、ログが記録されるのを待ち、残りのクリックで確認するのを待つ必要があります。スクリプトにもう 1 つスペルミスがあります。
例外の直前に終了したブラウザに接続し、そこからスクリプトをいじり続ける方法があるかどうか知りたいですか?
私は運がないので、この問題の解決策を見つけようとしました。
[編集]: 友人と話し合った結果、解決策が見つかりました。
gebはwebDriverの 1 つのインスタンスを作成し、新しいインスタンスを作成するまでそれを使用します。つまり、次の行を削除すると、 Browser.driveは同じポイントから続行されます。
new Browser(driver: new FirefoxDriver())