end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

input type=radioは selenium for python でclearできない為、javascriptを使用しましょう

つまり、以下の execute_script() で OK です

def subtest_input_radio(self,test_url):
    for elm_name in ["build_time"]:
        self.driver.get(test_url)      # 対象urlへaccess
        self.input_all_valid(test_url) # まず全項目に正しく入力

        form_elms = self.driver.find_elements_by_name(elm_name)
        for form_elm in form_elms:
            if form_elm.is_selected():
                js_str = "".join(["for( elm of document.getElementsByName('",
                                  elm_name,
                                  "')) elm.checked = false;"])
                self.driver.execute_script(js_str)
                
        self.driver.find_element_by_id("submit").click()
        time.sleep(3)
    
        # 入力内容に問題なければ、#formErrorにerror msgなしor次の画面へ遷移
        err_msg_elms = self.driver.find_elements_by_class_name("errWrap")
        self.assertNotEqual("",
                         err_msg_elms[0].text,
                         elm_name +" not selected")