Browser automation hakkında know-how bilgi arıyorum.
1. Browserstack automation kullanıyoruz aynı zamanda http://nightwatchjs.org/ gibi bir şey kullanmak da işi kolaylaştırıyor.
2. http://selenium-python.readthedocs.io/getting-started.html bu adresten başlanabiliyor olaya.
3. testleri python yerine javascript ile yazmak isteyenler selenium yerine casperjs kullanabilir
4. Phantomjs var bir de selenium a benziyor, yapisal olarak. Phantomjs daha çok render engine gibi dom manipulasyonu da yapıyor.
5. Casperjs phantomjs kullanir, üstüne ek bir şeyler ekler. Yani casperjs kullandiginda phantomjs kullanmış olursun.
6. Test macrosu kaydedebildiğin chrome eklentisi olan bi load test sitesi var.
7. Firefox için imacros var: https://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/
8. phantomjs ile selenium benzer işleri yapan araçlar değil (phantom renderı yapan headless araç, selenium browserı otomatize ediyor) phantom, selenium için bir "driver". Phantomun yerine, ie, chrome ya da firefox da gelebilir.
9. otomatize bi test yapılacaksa, sürecin parçası olacaksa imacros gibi araçları tavsiye edilmiyor. Zaten headless olmayan bir şeyle çalışma şansı olmuyor.
10. phantomjs'i kullanarak ekran görüntüsü alabiliyorsun, form alanlarını doldurup formu gönderebiliyorsun, yeni sayfada birşeyler yapabiliyorsun, linklere tıklayabiliyorsun, çeşit çeşit assert yapabiliyorsun vs vs; ilk günlerinden beri phantomjs ile selenium farklı araçlar deyip duruyorlar ama ikisini de test amaçlı kullanmak mümkün anladığım kadarıyla.
11. bir test stackinin parçasıysa yapılan iş, npm üzerinden phantom kurmak yerine tek binary dosyayı kopyalayıp headless chrome kullanma şansı var, daha güzel oluyor. https://intoli.com/blog/running-selenium-with-headless-chrome/
<code>
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome(chrome_options=options)
</code>