Test sınıf başına Selenyum birden baseURL

2 Cevap php

Ben bir karmaşık web tabanlı bir uygulama üzerinde selenyum komut yazıyorum.

Ben bir URL kullanarak ilk kayıt için gereken bir UserAccount kullanın ve daha sonra başka bir URL'ye üzerinde yönetici konsolunda hesabı onaylamak.

Sorun kayıt ve yönetici konsolu için başka baseURL olmasıdır ve ben gereken bir unittest içinde.

Benim testleri setBaseUrl kullandığınızda ama bunu göz ardı ve eski baseURL kullanılır. Ben bile bundan sonra () başlangıç ​​olarak adlandırılan, ancak değişiklik yok ...

Ben farkında değilim, bir hile var mı? Ben bu sorun üzerinde oldukça uzun bir süre için yaklaşık ve hata ayıklama oynuyorum, ama dekuplajlı (deneme <-> RCServer) selenyum testleri daha kolay gezinmek için yapmak değil ... ;-)

2 Cevap

Bu selenyum-rc etiketli beri, ben RC kullanmak varsayalım.

Sadece testi istemci iki ayrı selenyum örneklerini kullanabilirsiniz. Bir sınıf içinde tek bir selenyum örnek olması gereken hiçbir neden yoktur. Eğer iki farklı kullanıcı arayüzleri konuşurken beri benim görüşüme göre daha temiz olduğunu.

Sunucu tarafında, hala sadece bir ihtiyaç. Iki istemci örneğini kullanarak bunu talep etmesi durumunda, sunucu mutlulukla iki tarayıcı örneğini başlatacak.

Moritz

edit: Sadece bu eklemek için, bir anda selenyum örneği her zaman oluşturulabilir

Selenium s = new DefaultSelenium("localhost", 4444, "*chrome", 
            "http://your-target-url");

Selenyum sunucusu varsayarak localhost port 4444 üzerinde.

OK Selenyum iş akışı bu tür inşa edilecek gibi görünüyor değil.

Ben üç test sınıflarında test sınıfı split var.

  1. İlk baseURL kullanarak Temel Kayıt
  2. Seconf baseURL kullanarak Onay
  3. Yine ilk baseURL kullanarak basit görevleri

Bir iş perspektifinden birlikte aittir, çünkü o bir testcase içerdiği şeyler sahip olarak temiz değil. Ama en azından çalıştığını ve bunun için selenyum kesmek gerekmez.