從 Robot Framework 傳進 Appium 的參數,包含空白時,iOS 裝置會跳出錯誤

最近在用 Robot Framework 搭配 Appium 使用,發生了一件有點奇妙的事情。

在 Appium 裡,要 setText,是用 send_keys(text) 或 set_value(text) 來達成,set_value(text) 在 Android 裝置沒有實作,只有 iOS 可以使用,send_keys(text) 則是兩個裝置皆可使用。但由於 Android 跟 iOS 底層實作方式可能不太一樣,導致使用 send_keys(text) 行為上有一些小差異。

這次碰到的情況是從 Robot Framework 傳參數給 keyword 使用,但參數內容有包含空白,在 Android 裝置下使用 send_keys(text) 是可以正常輸入字串的,但在 iOS 裝置使用 send_keys(text) ,遇到含有空白的字串,輸入到空白的時候會跳出錯誤。

但如果我單純在 Appium 裡面測試傳參數,是不會發生錯誤的,感覺看起來像是 Robot Framework 與 Appium 之間傳的參數問題,可能跟編碼有關,目前還尚未找到原因。

這個錯誤其實只要使用 set_value(text) 這個方式來 setText 就不會發生問題,所以可以考慮 iOS 都採用 set_value(text) 來 setText;當如果有必要在 iOS 裝置使用 send_keys 時,就要記得避免使用空白字串,可以利用「_」或「-」來代替空白。

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s