精华内容
下载资源
问答
  • IOS自动化测试系列文章:一文带你趟过mac搭建appium测试环境的遇到的坑appium 实现简易IOS app自动化测试demo今天分享的是python appium库中IOS元素查找特定API的介绍。本文是做了一些简单的介绍。find_element_by_...

    a5a72b60d3406c5ae29eabe1242ffb24.png

                IOS自动化测试系列文章:

                一文带你趟过mac搭建appium测试环境的遇到的坑

                appium 实现简易IOS  app自动化测试demo


            今天分享的是python appium库中IOS元素查找特定API的介绍。本文是做了一些简单的介绍。     

    find_element_by_ios_predicate使用技巧

        在 iOS 的 UI 自动化中,使用原生支持的Predicate定位方式是最好,可支持元素的单个属性和多个属性定位,属性值还可以使用精确和模糊匹配,强烈推荐使用!

        1.单个/多个属性定位


    driver.find_element_by_ios_predicate("value == 'ClearEmail'")driver.find_element_by_ios_predicate("type == 'XCUIElementTypeButton' AND value == 'ClearEmail'")

            多个属性可以使用关键词AND连接。


          2.属性值匹配——比较运算符

         Predicate定位方式支持比较运算符:>、=、<=、!=

    可用于数值和字符串的比较

    driver.find_element_by_ios_predicate("value>100")driver.find_element_by_ios_predicate("value != 'ClearEmail'")

        3.属性值匹配——范围运算符

    支持范围运算符:IN、BETWEEN,可用于数值和字符串的范围核对

    driver.find_element_by_ios_predicate("value BETWEEN {1,6}")driver.find_element_by_ios_predicate("value IN {'Clear','Email'}")

        4.属性值匹配——字符串相关

            字符串相关语法:CONTAINS、BEGINSWITH、ENDSWITH

    driver.find_element_by_ios_predicate("value CONTAINS 'Email'")  #包含某个字符串driver.find_element_by_ios_predicate("value BEGINSWITH 'Clear'") #以某个字符串开头driver.find_element_by_ios_predicate("value ENDSWITH '班级Email'") #以某个字符串结束

        5.属性值匹配——通配符

    通配符: LIKE其中:?代表一个字符,*代表多个字符

    如:一个元素的value属性为Email:

    driver.find_element_by_ios_predicate("value MATCHES '^E.+l$'")

       6. 获取多个元素

    如果要获取一组属性相同的元素,则需要使用find_elements_by_ios_predicate()方法

            以上是对find_element_by_ios_predicate 的API的简单的介绍。后续将会分享更多的针对IOS元素查找的API介绍。


                        如果你感觉文章对你有帮助,记得点亮在看很关键。

    展开全文
  • 需求:从一串字符串查找字符串的位置 实现:系统框架中并没有可以直接调用的方法直接获取子字符串开始的位置,需要以下几步即可获取到子字符串的起始位置。 应用场景:比如我们要对 UILabel 的文本中的部分...

    需求:从一串字符串中查找子字符串的位置

    实现:系统框架中并没有可以直接调用的方法直接获取子字符串开始的位置,需要以下几步即可获取到子字符串的起始位置。

    应用场景:比如我们要对 UILabel 的文本中的部分字符标记,那么我们就需要找出来要标记的文本的位置,结合文本的长度,我们就可以实现标记

    第一步:我们需要借助下面的这个方法来获取位置

    参数是两个索引,如果要获取子字符串的起始位置,只需要传递父字符串的开始索引和子字符串在父字符串中的开始索引。第一个参数就是 str.startIndex,第二个参数需要第二步中的方法获取到

        /// Returns the distance between two indices.
        ///
        /// - Parameters:
        ///   - start: A valid index of the collection.
        ///   - end: Another valid index of the collection. If `end` is equal to
        ///     `start`, the result is zero.
        /// - Returns: The distance between `start` and `end`.
        ///
        /// - Complexity: O(*n*), where *n* is the resulting distance.
        @inlinable public func distance(from start: String.Index, to end: String.Index) -> String.IndexDistance

    第二步:获取子字符串在父字符串中的范围 (Rang: 是一个半开放的区间,不包含最大值)。

    获取到 Range 后,需要把得到的 Rang.lowerBound 传递到第一步方法中的第二个参数中,我们就获取到了子字符串在父字符串中的位置。

    str.range(of:)

    示例:

    let helloWorld: String = "Hello World"
    let wo: String = "Wo"
    let range: Range = helloWorld.range(of: wo)!
    let location = helloWorld.distance(from: helloWorld.startIndex, to: range.lowerBound)
    // location: 6

    最后我们可以得到 location 的值为 6

    展开全文
  • IOS字符串模糊查找算法

    千次阅读 2013-06-21 18:37:50
    NSString *s1 = @"abcdefg";  NSString *s2 = @"abc"; -(BOOL)subseq1:(NSString *)s1 to:(NSString*)s2{  int i,j;  if (s2.length > s1.length) {  NSLog(@"not find");
            NSString *s1 = @"abcdefg";
    

            NSString *s2 = @"abc";

    -(BOOL)subseq1:(NSString *)s1 to:(NSString*)s2{

            int i,j;
            if (s2.length > s1.length) {
                NSLog(@"not find");
                return NO;
            }
            else
            {
                for (i=j=0; i < s1.length&&j < s2.length; j++)
                {
                    unichar c2 = [s2 characterAtIndex:j];
                    NSLog(@"c2=%c\n",c2);
                    for (; i<s1.length; i++)
                    {
                        
                        unichar c1 = [s1 characterAtIndex:i];//这句的意思和C的 char c = s1[i] 一样 S1为string
                        NSLog(@"c1 = %c\n",c1);
                        
                        if (c2 == c1) {
                            break;
                        }
                        else if (i == (s1.length-1))
                        {
                            NSLog(@"not foud");
                            return NO;
                        }
                        
                    }
                }
                NSLog(@"found");
                return YES;
            }

    }


    //调用方法

    [self subseq1:s1 to:s2];

    展开全文
  • iOS字符串

    2015-08-28 08:42:33
    NSString: 不可变字符串 字符串创建完成后,字符串中的内容是不能变化的 1. 字符串的创建 对象方法: NSString *string = @“字符串”; 只能用来初始化不可变字符串,不能用来初始化可变字符串 - ...

    NSString: 不可变字符串

    字符串创建完成后,字符串中的内容是不能变化的


    1. 字符串的创建

    对象方法:

    NSString *string = @“字符串”;

    只能用来初始化不可变字符串,不能用来初始化可变字符串


    - (instancetype)initWithFormat:(NSString *)format, …;

    通过格式化控制初始化字符串


    - (instancetype)initWithUTF8String:(const char *)bytes;

    通过c字符串初始化oc字符串

    类方法:

    + (instancetype)stringWithString:(NSString *)aString


    + (instancetype)stringWithFormat:(NSString *)format,, …


    + (instancetype)stringWithUTF8String:(const char *)bytes


    2.字符串的操作


    - (NSUInteger)length

    求字符串的长度


    - (unichar)characterAtIndex:(NSUInteger)index;

    通过索引获取字符串中相应字符


    - (BOOL)isEqualToString:(NSString *)aString

    判断两个字符串是否相等 


    - (NSComparisonResult)compare:(NSString *)aString

    比较两个字符串大小


    - (NSRange)rangeOfString:(NSString *)aString;//self中找aString

    字符串中查找子串


    - (BOOL)hasPrefix:(NSString *)aString;//前缀

    - (BOOL)hasSuffix:(NSString *)aString;//后缀

    判断前后缀


    - (double)doubleValue;

    - (float)floatValue;

    - (int)intValue;

    - (NSInteger)integerValue ;

    - (long long)longLongValue ;

    - (BOOL)boolValue ;  

    字符串转数字


    - (NSString *)uppercaseString;//小写转大写

    - (NSString *)lowercaseString;//大写转小写

    - (NSString *)capitalizedString;//首字母大写

    小写和大写之间转换


    - (NSString *)substringFromIndex:(NSUInteger)from;

    from位置开始一直提取到字符串的末尾


    - (NSString *)substringToIndex:(NSUInteger)to;

    从字符串开始提取到to位置结束


    - (NSString *)substringWithRange:(NSRange)range;

    提取字符串中的某个返回


    NSMutableString: 可变字符串

    字符串中的内容可以进行修改,继承于NSString


    - (void)appendString:(NSString *)aString;

    在字符串的末尾追加子串


    - (void)appendFormat:(NSString *)format, ... ;

    在字符串末尾追加格式化子串


    - (void)insertString:(NSString *)aString atIndex:- (NSUInteger)loc;

    指定索引位置插入子串


    - (void)deleteCharactersInRange:(NSRange)range;

    删除指定范围的子串


    - (void)setString:(NSString *)aString;

    修改子串

    展开全文
  • IOS 字符串

    2018-09-04 17:07:14
    截取字符串   NSString *string =@"123456d890"; NSString *str1 = [string substringToIndex:5];//截取掉下标5之前的字符串 NSLog(@"截取的值为:%@",str1); NSString *str2 = [string ...
  • iOS 字符串替换

    万次阅读 2015-08-11 15:48:52
    有这样的需求 字符串中有几处特殊字符,我们需要替换 此时可以考虑使用NSString 的方法  stringByReplacingOccurrencesOfString 我们看一个简单例子 NSString * string=@"2011-11-29"; string=[string ...
  • IOS字符串,NSString,oc字符串操作

    千次阅读 2013-09-26 13:24:27
    /--------操作字符串--NSString(静态字符串)---------------------  NSString *Beijing= @"北京欢迎您"; //字符串的声明  NSString *log=@"北京欢迎您a"; //[NSString stringWithFormat:@"I am '%@'",Beijing...
  • ios 字符串的比较

    2015-09-15 06:52:35
    ios 字符串的比较        // 声明一个NSString NSString *str; // 使用stringWithFormat生成一格式化字符串 str = [NSString stringWithFormat:@"This is %@","John"]; NSLog(@&...
  • iOS字符串分割常用方法

    万次阅读 多人点赞 2015-10-21 10:35:46
    1.字符串的替换: NSString *str=@"12334dllggg33dlrt "; str=[str stringByReplacingOccurrencesOfString:@"33" withString:@"hh"]; NSLog(@"%@",str); 输出结果:12hh4dlggghhdlrt 2.通过...
  • iOS字符串常用处理方法 1.根据起始位置和长度进行字符串截取 - substringWithRange 方法说明: - (NSString *)substringWithRange:(NSRange)aRange 其中关于 NSRange 的生成方式: NSRange NSMakeRange ( ...
  • iOS字符串内容匹配

    2012-10-26 10:28:03
    简单的字符串匹配可以有一下方式: 1、NSString自带的函数方法: -(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring开头;   -(BOOL) hasSuffix:(NSString *) astring;检查字符串是否以astring...
  • iOS 数组中查找字符串

    千次阅读 2018-11-22 09:37:07
    NSArray *aaa = @[@“iphone”,@“apple”]; NSString *constant1 = @“apple”; NSInteger index = [aaa indexOfObject:...以后在数组中寻找某个字符串 不需要再遍历数组 再调用 isEqualToString 方法了 ...
  • iOS 字符串遍历

    千次阅读 2015-05-14 09:38:04
    遍历字符串 在oc中遍历字符串的至少可以使用以下两种方法 (1) 通过查找的方式来(这方式适合所有格式的子符串,推荐使用) NSString *newStr =@"abdcdddccdd00大家好哦"; NSString *temp = nil; for(int i =...
  • ios 字符串

    千次阅读 2013-01-08 15:54:41
     //载一个字符串中删除一个字符或字符串   [_display deleteCharactersInRange:NSMakeRange(index_of_char_to_remove, 1)];   数学转换为字符串   NSString *returnStr;   returnStr = [...
  • //查找字符串是否包含“心”   NSString *str = @"每天都有好心情";   if ([str containsString:@"心"]) {   NSLog(@"字符串包含“心”");   //containString适用于ios...
  • ios 字符串的比较

    2015-04-23 13:44:00
    SString  ...// 使用stringWithFormat生成一格式化字符串  str = [NSString stringWithFormat:@"This is %@","John"];  NSLog(@"str--->%@",str);  // 字符串长度length;  NSLog(@"The len
  • IOS 字符串操作

    千次阅读 2013-11-13 14:27:25
    NSString与int和float的相互转换  NSString *tempA = @"123";  NSString *tempB = @...1,字符串拼接  NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB]; 2,字符转int
  • NSString*str = @"aaaaaaaaa bbbbbbbbb ccccccccccccccccccc" @"sdafasdfwerwlkjsaldkfjklkdjs934523jklad" ...@"as0932i4oriewjko201384209u42l3jasf fi0";...1.查找 NSRange range = [str rangeOfStri
  • ios字符串的判断

    2015-03-30 15:37:17
    //将rangeOfString:发送给一个 NSString对象时,传递的参数是要查找字符串,它会返回一个NSRange struct 来告诉你 与这个字符串相匹配的 部分在哪里以及能够匹配上的字符串个数。 例子:NSRange range; NSString *...
  • 方法的调用 NSArray *array = [self ... 查找字符串在父字符串中的所有位置 @param content 父字符串 @param tab 子字符串 @return 返回位置数组 */ - (NSMutableArray*)calculat...
  • iOS 判断字符串中含有某个字符串

    千次阅读 2017-12-16 14:31:53
    //判断字符串是否包含“iOS”方式一:containString查找字符串是否包含“ iOS ”,适用于IOS8及以上,以下的系统会因为没有此API而报错。 NSString*str = @“我是 iOS 开发工程师”; if([str containsString:@&...
  • 本篇要分享的是关于iOS开发中,字符串简单处理的方法,此部分过于基础,仅作加强记忆、记录使用。 一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位...
  • iOS 字符串、数组、字典基本操作

    千次阅读 2015-07-02 09:30:50
    通过Key(键),查找对应Value(值),Key通常是字符串对象,也可以是其他任意类型对象(前提是该对象实现了NSCopying协议)。在一个字典对象中, Key的值必须是唯一的;Value可以是任意类型的对象。此外,字典对象的...
  • 1、字符串的截取 //1.截取字符串 NSString *string =@"123456d890"; NSString *str1 = [string substringToIndex:5];//截取掉下标5之前的字符串 NSLog(@"截取的值为:%@",str1); NSString *str2 = [string ...
  • 字符串,数组,字典存储到本地文件过程一样,只是要存储的数据类型不同而已,这里以字符串存储到本地文件为例,如下 NSString*content =@"将字符串存储到本地文件" ; (1)获取Documents 文件夹路径 参数:(1)指定...
  • IOS字符串中获取指定字符之间的字符串 今天在项目中遇到一个解析字符串的需求,要求将字符串中冒号和分号中的字符串解析出来。感觉这个需求以后可能会遇到,就跟大家分享一下
  • 改变UILabel部分字符颜色 */ - (void)setContentLabelColor { NSString *content = @"2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n写博客\n2018-08-27\n...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,586
精华内容 11,834
关键字:

ios字符串查找