何故やろうとしたのか
ログイン画面対策のため
→ログイン後に再度アクセスした際にログイン画面が無いと、フロー上にあるログイン画面での処理部分でseleniumIDEが止まる
→見かけた『${!LastCommandOK}がtrueかどうかで判断』が上手く機能しなかったため
→具体的にはverifyElementPresentをif文の前でかけると1回目は問題ないのだが、2回目以降で走らせると確実にfalseになる状況でもなぜか貫通してtrue側を通ってしまった なんで?(憤怒)
どうやった
ログイン画面に「のみ」ある要素の数を「store xpath count」で数え、それが1かどうかで判断
→「0かどうか」の判断の方が考えやすいかもしれない
コード
store xpath count | xpath=//input[@value='ログイン'] | id
if |${id}==="1" ←ここは適宜書き換えで
~ログインID記入なりパスワード記入なりログインボタンクリックなりの「ログイン画面における処理」~
end
"特定画面にのみある要素"の"数"を判別の基準にしてる
今回はたまたまログイン画面における"input"且つ"valueがログイン"の要素が一つだけだったのでこの形で行けたが、ちと汎用性に欠ける気がせんでもない
オチ
seleniumIDEは記録した後にこまい部分を書き換えられるのが良いね
ブラウザで完結するものならば、ボクがpython使って書いてる普通のseleniumよりも直感的で扱いやすい感じ
この要素数が0かそれ以外かはボクがVBAでよく使っていた条件式だから、色々と使える考え方だと思う