获取IOS模拟器文本字段中的值
Posted
技术标签:
【中文标题】获取IOS模拟器文本字段中的值【英文标题】:Getting the value in the textfield in IOS Simulator 【发布时间】:2018-10-05 06:00:16 【问题描述】:我是 Swift 和 x-code 的新手。我目前正在开发一个只有一个文本框和一个提交按钮的应用程序。
我正在编写一个类似这样的测试用例-“每当我点击提交按钮时,我在文本字段中给出的文本都应该被验证。”
当我单击提交按钮时,如何从文本框中获取 文本?在运行测试用例时
【问题讨论】:
提问时请更具体一点:到目前为止,您对代码示例做了哪些尝试? (I downvoted because there is no code) / 您有什么期望? / 您会遇到什么错误? 请查看“How to ask”以获得帮助 你可以在UIButton
点击textField.text!
获得textField
值。
【参考方案1】:
要找出单击按钮的时间,您必须在某个 Target 中为您的按钮定义一个 Action……通常是您的视图控制器。在 Apple 的文档中搜索“Target Action”设计模式,您应该会找到教程信息。
要获取文本字段的值,您可以简单地获取它的 text 属性。但是,要获得对文本字段的引用,您的视图控制器将需要一个引用文本视图的 Outlet。在文档中,您可以搜索“Outkests”或 IBOutlet 来查找教程。
【讨论】:
【参考方案2】:为该textField
创建一个IBOutlet
并将其连接到情节提要中(见附件)
@IBOutlet weak private var textField: UITextField!
并使用textField.text
在您的 IBAction 中获取处理点击事件的文本文件值
【讨论】:
【参考方案3】:首先创建文本字段的@IBOutlet 并创建提交按钮的@IBAction。并像这样在@IBAction 中验证它:-
@IBOutlet weak var textfieldOutlet: UITextField!
@IBAction func submit(_ sender: UIButton)
if textfieldOutlet.text?.isEmpty == False
print(textfieldOutlet.text);
*在打印值上设置断点,然后得到值
【讨论】:
【参考方案4】:在 UI 测试中,您可以使用 value
属性从代表 UITextField
的 XCUIElement
访问文本。
let app = XCUIApplication()
let textField = app.textFields.element
textField.typeText("test text")
let text = textField.value as? String // should be "test text"
【讨论】:
以上是关于获取IOS模拟器文本字段中的值的主要内容,如果未能解决你的问题,请参考以下文章
Sencha Touch 2 文本框在 iOS 7 中的焦点问题