Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Seleniumことはじめ

PythonでSeleniumRCを少し触りはじめる。
selenium-serverを立ち上げておくのがめんどいのでプロセス起動してみる。

from selenium import selenium
import unittest
import os, signal, sys, time

class SelenuimUnitTest(unittest.TestCase):

    seleniumHost = 'localhost'
    seleniumPort = str(4444)
    #browserStartCommand = "c:\\program files\\internet explorer\\iexplore.exe"
    browserStartCommand = "*firefox"
    browserURL = "http://localhost"

    def setUp(self):
        args = ['java', '-jar', 'selenium-server.jar']
        java = os.environ['JAVA_HOME']+'bin/java'
        self.PID = os.spawnve(os.P_NOWAIT, java, args, os.environ)
        time.sleep(3)
        self.selenium = selenium(self.seleniumHost, self.seleniumPort, self.browserStartCommand, self.browserURL)
        self.selenium.start()

    def tearDown(self):
        self.selenium.stop()
        os.kill(self.PID, signal.SIGABRT)  

うーん、適当だな。適当に3秒待ってるし。所詮プロセス起動だし。
popenとかで"start Jetty"とかそーいうメッセージを受けるまで待ち合わせる方がいいかなあ。
というかpythonでsever実装しねえといかん気もする。めんどい。
とりあえずこいつを継承してdjango用のselenium unittestも作ることができそうだ。
というかMacだとFireFoxを一度落とさないとprepareから先に進まない理由がわからん。謎だ。

うくく。