Я придумала решение.Он включает в себя метод storeEval
, переменную storedVars
и анонимные функции Selenium IDE.Он также использует свойство activeElement
iframe
s.
По сути, я вызываю метод storeEval
с javascript, чтобы установить определенный элемент storedVars
для функции, которую я буду использоватьпозже в качестве аргумента.Для примера FCKeditor
аргументом будет:
storedVars["setFCKeditorField"] = function (fieldName, value) {var iframe = this.browserbot.findElement("id="+fieldName+"___Frame"); var outerDocument = iframe.contentDocument; var innerDocument = outerDocument.activeElement.contentDocument; var textField = innerDocument.activeElement; textField.innerHTML = value;}
Я специально отформатировал его так, потому что именно так он будет отображаться в Selenium IDE, и я явно не идеален.
Затем, позже, когда я на самом деле хочу установить значение поля FCKeditor, я снова вызываю storeEval
с javascript для вызова функции в качестве аргумента, например так:
storedVars["setFCKeditorField"].call(this, "SU_ats_subscription_configuration_model[subscription_reminder_message]", "Subscription Expiring Message.<br/>");
Это работает, но я надеюсь, что есть лучший способ.Будет ли Selenium RC сделать это легко?