这让我发疯,如果有人可以帮助我真的很感激......我正在尝试编写一个 ui 自动化脚本来测试一个应用程序。有一个特定的集合视图,其中单元格是通过首先加载视图从笔尖生成的......
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.title = @"Forms";
[self.categoryCollectionView registerNib:[UINib nibWithNibName:@"HomeCategoryCell" bundle:nil] forCellWithReuseIdentifier:@"HomeCategoryCell"];
[self.formsCollectionView registerNib:[UINib nibWithNibName:@"HomeFormCell" bundle:nil] forCellWithReuseIdentifier:@"HomeFormCell"];
[self.existingFormsCollectionView registerNib:[UINib nibWithNibName:@"HomeExistingFormCell" bundle:nil] forCellWithReuseIdentifier:@"HomeExistingFormCell"];
[self setupFormCategories];
}
然后是设置表单方法...
- (void)setupFormCategories
{
categories = [[NSMutableArray alloc] init];
FormCategory *cat = [[FormCategory alloc] init];
cat.categoryTitle = @"All Forms";
cat.iconFileName = @"CategoryIcon.png";
cat.relatedForms = @[@"Form Type 1", @"Form Type 2"];
[categories addObject:cat];
cat = [[FormCategory alloc] init];
cat.categoryTitle = @"Customer Forms";
cat.iconFileName = @"CategoryIcon.png";
cat.relatedForms = @[@"Form Type 1", @"Form Type 2"];
[categories addObject:cat];
cat = [[FormCategory alloc] init];
cat.categoryTitle = @"Client Forms";
cat.iconFileName = @"CategoryIcon.png";
cat.relatedForms = @[@"Form Type 1", @"Form Type 2"];
[categories addObject:cat];
cat = [[FormCategory alloc] init];
cat.categoryTitle = @"User Forms";
cat.iconFileName = @"CategoryIcon.png";
cat.relatedForms = @[@"Form Type 1", @"Form Type 2"];
[categories addObject:cat];
brandNewForms = nil;
}
我已经尝试了几种选择这些表单之一的方法,(包括 categoryTitle 和相关表单......
target.frontMostApp().mainWindow().collectionViews()[0].cells()["User Forms"].tap();
以及 firstWithPredicate 等...但是我总是得到相同的响应....
脚本抛出未捕获的 JavaScript 错误:target.frontMostApp().mainWindow().collectionViews()[0].cells()["User Forms"] 无法点击,因为该元素在 wip.js 的第 64 行不可见
如果我记录元素树,它可以看到所有元素类型并返回完整的元素树。如果我通过 Instruments 记录用户交互,它会识别元素,并生成这个 javascript...
target.frontMostApp().mainWindow().collectionViews()[0].cells()["User Forms"].tap();
无论我做什么,我都无法让它工作。我已经尝试通过界面构建器更改可访问性设置,确保它是子视图没有任何可访问性设置,但是我无法让它工作。我也无法理解为什么它会识别 logElementTree 和记录中的元素,但在运行时却不能...
任何想法......如果这是问题,我如何能够修改目标 C 代码的任何建议......?我试过玩 cat.accessibilityLabel= @"User Forms"; 但我是目标 C 的新手,我真的不知道自己在做什么......
xCode 5 / iOS7 模拟器...但我也尝试过 xCode 4.6.3 / iOS6.1 ....