这让我疯了,如果有人可以提供帮助我真的很感激... 我正在尝试编写一个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;
}
我尝试了几种方法来选择其中一种形式,(包括类别标题和相关形式......
target.frontMostApp().mainWindow().collectionViews()[0].cells()["User Forms"].tap();
以及firstWithPredicate等......但是我总是得到相同的回应......
脚本抛出一个未被捕获的JavaScript错误:target.frontMostApp()。mainWindow()。collectionViews()[0] .cells()[“用户表单”]无法点击,因为该元素在第64行上不可见wip.js
如果我记录元素树,它可以看到所有元素类型并返回一个完整的元素树。如果我通过Instruments记录用户交互,它会识别元素,并生成这个javascript ...
target.frontMostApp().mainWindow().collectionViews()[0].cells()["User Forms"].tap();
无论我做什么,我都无法让它发挥作用。我已经尝试通过界面构建器更改辅助功能设置,确保它是一个子视图没有任何可访问性设置,但我无法让它工作。我也无法理解为什么它会识别logElementTree和record中的元素,但是在运行时却没有...
任何想法......如果这是问题,我可以如何修改目标C代码....我试过玩cat.accessibilityLabel = @“User Forms”;但我是目标C的新手,我真的不知道我在做什么......
xCode 5 / iOS7模拟器......但我也尝试过xCode 4.6.3 / iOS6.1 ....
答案 0 :(得分:0)
根据您对问题的描述,听起来您想要点击的单元格位于视图层次结构中,但它在屏幕上实际上是不可见的。
也许你必须先滚动才能看到它。此外,您似乎有不同类别的项目。也许您必须在该单元格可见之前在您的应用中选择正确的类别。